javascript - 如何使用 selenium webdriver 转储整个 dom 结构

标签 javascript python selenium

我是 selenium 和 python 的新手,我在寻找识别自动化所需的页面元素的最佳方法时遇到问题。 我有一个网页,上面有很多 JavaScript。当我在登录表单中使用 firefox 的检查元素作为用户名字段时,我看到一个带有 id 的输入标签,但是当我要求 selenium 查找该 id 时,它说找不到。 我想仔细检查我在 Firefox 中看到的实际上是 Selenium 看到的,所以我尝试了:

with open("login.html","w") s f:
    f.write(driver.page_source)

我在生成的文件中根本看不到任何输入元素。

基于我尝试过的另一个 stackoverflow 问题:

DOM=driver.execute_script("return document.documentElement.outerHTML")
with open("login.html","w") as f:
    f.write(DOM)

仍然没有输入元素。

是否有更好的方法来查看所有 dom 元素和/或找到正确的 xpath/ids 来起诉我的 selenium 脚本?

最佳答案

尝试通过 document.body.innerHTM 获取所有正文 HTML

html = driver.execute_script("return document.body.innerHTML;")
with open("login.html","w") as f:
    f.write(html)

关于javascript - 如何使用 selenium webdriver 转储整个 dom 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50417529/

相关文章:

javascript - linter 和验证器有什么区别?

Python 从父目录导入并保持 flake8 快乐

python - Bokeh 以交互方式更改正在绘制的列

c# - 将 C# 类转换为 JSON 表示的最佳方法

javascript - Angular 6 - 添加到 Assets 中的本地文件(js、css、img)在运行时看不到。如何一次引用所有文件?

selenium - 减小 Selenium 框架的大小

python - 您如何在自动登录脚本中使用浏览器保存的凭据

java - 如何使用selenium webdriver访问pdf链接

javascript - Google-Big Query with JavaScript

python - 与 GPU 一起使用时,packed_pa​​dded_sequence 会出错