检查属性是否存在于任何 Html 个标签中 Selenium Python

Checking If Attribute Exists In Any Of Html Tags Selenium Python

我想检查是否有任何 html 标签具有 <style> 属性,例如 <a style = ..><h1 style = ...><div style = ..> 等。 我使用了下面的代码,但它不能是 运行:

driver = webdriver.Chrome(web_driver_address, options=op)
driver.get(url)

elems = driver.find_elements_by_xpath("[@style]")

我该如何解决这个问题?

您的 XPath 缺少元素标记名称。
在你的情况下,它可以是任何标签名称,但它仍然应该作为语法的一部分存在,所以你应该使用 * 就像 any 一样。
此外,您还缺少 //,这意味着该元素可以位于页面上的任何位置。
所以正确的 XPath 表达式应该是这样的:

elems = driver.find_elements_by_xpath("//*[@style]")

不要忘记添加一些等待/延迟,让页面在获取所有元素之前加载它们

xpath 需要标签才有效。如果您不想要特定标签,请使用 *

find_elements_by_xpath("//*[@style]")

css_selector

find_elements_by_css_selector("[style]")