我正在使用 Firefox 浏览器在 selenium 中工作。
查看源代码 (CTRL+U) 中显示的 Html 代码与我在 Firefox 中检查元素时看到的 html 代码不同。
当我运行时,driver.getPageSource()
我只获得查看源代码(CTRL + U)。
有什么方法可以访问Inspect 元素代码而不是查看源代码?
我正在使用 Firefox 浏览器在 selenium 中工作。
查看源代码 (CTRL+U) 中显示的 Html 代码与我在 Firefox 中检查元素时看到的 html 代码不同。
当我运行时,driver.getPageSource()
我只获得查看源代码(CTRL + U)。
有什么方法可以访问Inspect 元素代码而不是查看源代码?
我想你的问题在这里得到了回答。
View Source html 是服务器发送的内容。我认为它是编译时 html,或 DOM 的初始状态。
Inspect Element html 可能已由 ajax 响应或 javascript 更新,因此不一定相同。我认为它是运行时 html,或 DOM 的当前状态。
GetAttribute() 方法查询当前 DOM 元素状态。您可以直接返回特定的html属性值
webElement.GetAttribute("class")
或获取整个 html 字符串。
webElement.GetAttribute("innerHTML")
通过View Source 显示的标记(即使用ctrl+U )和通过Inspector 显示的标记(即使用ctrl+ shift+I )之间存在一些根本区别。
这两种方法都是两种不同的浏览器功能,允许用户查看网页的 HTML。但是,主要区别在于View Source显示了从 Web 服务器(应用程序服务器)传递到浏览器的 HTML。其中,Inspect 元素是一个开发工具,例如Chrome DevTools ,用于在浏览器应用其错误纠正以及任何 Javascript 操作 DOM 之后查看DOM 树的状态。其中一些活动可能包括:
简而言之,使用View Source您将观察到Javascript而不是HTML。HTML 错误可能会在检查元素工具中得到纠正。举个例子:
在查看源代码中,您可能会观察到:
<h1>The title</h2>
而通过检查元素将更正为:
<h1>The title</h1>
getPageSource()
总是返回通过View Source获得的标记。