Python selenium-如何选择没有特定CSS属性的HTML元素
HTML看起来类似于以下内容:Python selenium-如何选择没有特定CSS属性的HTML元素,python,selenium,xpath,Python,Selenium,Xpath,HTML看起来类似于以下内容: 注意:为了有更好的可读性示例代码,我将类抽象为唯一的类,因为它们更多(由“…”表示) 要选择以下元素: ... <div class=”classC1 classC2 classC3 ...” style="...; z-index: 17;”></div> <div class=”classC1 classC2 classC3 ...” style="...; z-index: 30; opacity: 0.6; ”&g
注意:为了有更好的可读性示例代码,我将类抽象为唯一的类,因为它们更多(由“
…
”表示)
要选择以下元素:
...
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 17;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 30; opacity: 0.6; ”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 20;”></div>
...
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 24;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 19; opacity: 0.6; ”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 27;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 21; opacity: 0.6; ”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: -15; opacity: 0.6; ”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 22;”></div>
...
您可以将
not
与style
一起使用,将opacity
与css\u选择器一起使用
elements = self.browser.find_elements_by_css_selector('.classC1:not([style*="opacity"])')
您可以将
not
与style
一起使用,将opacity
与css\u选择器一起使用
elements = self.browser.find_elements_by_css_selector('.classC1:not([style*="opacity"])')
我担心这会是一件“容易”的事。。。你的回答让我更接近了。classC1:不是([style]),但不是样式属性不透明度。:“简单”。谢谢我试过使用contains(@style,'opacity'),但很困难…@udo
css\u选择器没有contains
,只有xpath
是的。与xpath斗争。。。我不认为这在find\u elements\u by\u css\u selector()
yups中是可能的。运行find\u elements\u by_css_selector('.classC1:not([style*=“opacity”])”
会抛出错误selenium.common.exceptions.InvalidSelectorException:Message:给定的css选择器表达式“.classC1:not([style*=“opacity”])无效:语法错误:'.classC1:not([style*=“opacity”]))'不是有效的选择器
显然selenium会自动添加类。''。注意:我正在运行selenium 3.4.1I,我担心这会很“简单”:。。。你的回答让我更接近了。classC1:不是([style])
,但不是样式属性不透明度。:“简单”。谢谢我试过使用contains(@style,'opacity'),但很困难…@udocss\u选择器没有contains
,只有xpath
是的。与xpath斗争。。。我不认为这在find\u elements\u by\u css\u selector()
yups中是可能的。运行find\u elements\u by_css_selector('.classC1:not([style*=“opacity”])”
会抛出错误selenium.common.exceptions.InvalidSelectorException:Message:给定的css选择器表达式“.classC1:not([style*=“opacity”])无效:语法错误:'.classC1:not([style*=“opacity”]))'不是有效的选择器
selenium会自动添加类“”。注意:我正在运行selenium 3.4.1
...
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 17;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 20;”></div>
...
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 24;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 27;”></div>
<div class=”classC1 classC2 classC3 ...” style="...; z-index: 22;”></div>
...
elements = self.browser.find_elements_by_css_selector('.classC1:not([style*="opacity"])')