请查看以下示例代码。
<html>
<body
<div id="HOTELS">
<div class="sub-classes">
<label class="control-label go-right">Location</label>
</div>
<div class="sub-classes">
<span class="size13 go-right">
<b>Adults</b>
</span>
</div>
</div>
<body>
<html>`
---------网络驱动程序代码--------------------
WebDriver wdriver = new FirefoxDriver();
List<WebElement>elements=wdriver.findElements(By.cssSelector("div[class='sub-classes'] label"));
for(WebElement located_element : elements)
{
system.out.println(located_element.getText());
}
我正在尝试找到Label标签和span标签,但除了为两个元素分别定义特定位置xpath之外没有找到任何方法。我想用cssSelector做到这一点。
答案 0 :(得分:0)
尝试以下逻辑。
List<WebElement>elements=driver.findElements(By.cssSelector("div[class='sub-classes']"));
for(WebElement located_element : elements){
System.out.println(located_element.getText());
System.out.println(located_element.findElement(By.xpath("./*")).getTagName());
}
上述代码的输出将是
Location
label
Adults
span
答案 1 :(得分:0)
试试这个选择器......
List<WebElement>elements=driver.findElements(
By.cssSelector(
"div[class='sub-classes']>label, div[class='sub-classes']>span"
));
这将选择所有标签和范围,<div class="sub-classes">
作为其直接父级。
如果label
/ span
不在此div
的正下方,则将>
替换为(空格)
List<WebElement>elements=driver.findElements(
By.cssSelector(
"div[class='sub-classes'] label, div[class='sub-classes'] span"
));