【发布时间】:2019-05-24 10:43:01
【问题描述】:
如何编写一个 CSS 选择器来选择没有特定属性的元素?
我有 2 个<div> 节点如下:
-
第一:
<div class="weEq5" style="will-change; width;"> <button class="_35EW6"> -
第二:
<div class="weEq5"> <button class="_35EW6">
我需要选择<div>(具有相似的类)以及它们中的每一个具有相似的降序 <button> 但没有style 属性。
XPath 似乎工作正常:
//div[@class and not (@style)]/button
我正在寻找一个等效的CssSelector。
试验:
div[class :not(style)]>button (doesn't works).
我已经通过以下讨论,但他们似乎将 class 属性丢弃为:not([class]),如下所示:
- Can I write a CSS selector selecting elements NOT having a certain class?
- Is it possible to define in CSS NOT to apply style if element have certain class? [duplicate]
我正在寻找以:not(attribute)结尾的类似行。
【问题讨论】:
-
您已经有了答案 - 只需在示例中出现“class”的地方替换“style”即可。
-
@BoltClock 已尝试但未在 Test 模板中得到解决。
-
使用
div:not([style]) button或div[class]:not([style]) button为我解决问题。 -
@BoltClock
div[class]:not(style) button似乎工作完美。 -
@DebanjanB,你是对的。关于排除
style属性的担忧。div:not([style]) button这找到第二个按钮。您可以使用其他周围元素来使其更加健壮。
标签: selenium selenium-webdriver css-selectors webdriver