<div id='test' /><div>
在上面的例子中,我需要在下面的场景中找到div:
WebElement
divelement = driver.FindElement(By.css("#test"));
现在我想使用divelement
变量找到没有属性的div标记。
如何使用divelement
导航到div后代?
答案 0 :(得分:1)
有几种方法可以做到这一点。
使用CSS选择器:
driver.findElement(By.cssSelector("#test div"))
// ^ note the space. this is CSS for "descendant".
我对
的措辞感到困惑使用divelement变量找到没有属性的div标记。
但如果您指的是没有特定属性的<div>
元素,则可以使用:not()
伪选择器。
driver.findElement(By.cssSelector("#test div:not([id])")
// will find all <div>s that are descendants of #test that do not have an id attribute.
另一种方式是,只使用链式findElement
,就像这样:
driver.findElement(By.cssSelector("#test")).findElements("div")
答案 1 :(得分:0)
divelement.findElement(By.css("div"));
这应该是要走的路。这在@Sudharsan Selvaraj上面的评论中列出
答案 2 :(得分:0)
如果您知道Xpath中使用双斜杠//
并在CSS中寻找它的对应物,那么您需要使用空格。
例如:您希望CSS用灰线显示,那么它将是.image .row.width-for-gray-line
<div class="image parbase wq-GridColumn wq-GridColumn--default--12">
<div class="component">
<div class="row bottom-buffer">
<div class="col-sm-12">
<a href="https://msn.com" target="_blank">
<picture>
<img src="/image/path/cover.jpg"
class="image-max-width-responsive" alt="test_alt_text">
</picture>
</a>
<p class="light-txt">test_caption</p>
</div>
</div>
<div class="row width-for-gray-line">
<hr class="bottom-buffer-gray-line">
</div>
</div>
</div>