使用 Selenium 的 Text 和 innerHTML 之间的差异
在 Selenium 中,可以使用两种方法从元素中检索内容: .text和 .get_attribute("innerHTML")。虽然它们看起来相似,但两者之间存在明显差异。
get_attribute("innerHTML")
.get_attribute("innerHTML") 检索以下内容的内部 HTML一个元素,包括其中的所有标签和文本内容。此方法尝试检索具有指定名称的属性值,如果未找到,则返回具有相同名称的属性值。如果属性或属性都不存在,则返回 None。真值(等于 true 或 false)作为布尔值返回,而所有其他非 None 值作为字符串返回。
Text
.text,在另一方面,仅检索元素的可见文本。它会忽略任何 HTML 标签或其他非文本内容。
属性与属性
要进一步理解差异,了解属性和属性之间的区别至关重要HTML。当浏览器解析 HTML 时,它会根据标签创建 DOM 对象。标准 HTML 属性会自动转换为这些 DOM 对象的属性。但是,非标准属性只能通过 .get_attribute() 方法访问。
何时使用 innerHTML
需要时使用 .get_attribute("innerHTML")捕获元素内的整个 HTML 内容,包括标签和任何嵌入的脚本或 CSS。这对于提取复杂内容非常有用。
何时使用文本
当您只对元素的可见文本内容感兴趣(不包括任何元素)时,请使用 .text HTML 标签。这通常用于检索用户输入的文本或将其显示在屏幕上。
以上是Selenium:`text` 与 `get_attribute('innerHTML') – 我应该使用哪种方法?的详细内容。更多信息请关注PHP中文网其他相关文章!