检查属性是否存在于任何 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]")
我想检查是否有任何 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]")