Selenium Webdriver:如何通过定位器查找元素

时间:2017-08-25 21:01:48

标签: selenium xpath

我使用Selenium Webdriver并希望找到这个元素:

以下是HTML代码 -

<span ng-class="{'details-section': isSingle(b) && !isExist(b)}">1.00</span>

尝试下面这个:

driver.findElement(By.xpath("//span[@ng-class='{'details-section': isSingle(b) && !isExist(b)}']")).getText();

不幸的是我收到了以下错误:

  

未知错误:无法设置属性&#39; name&#39;未定义的

请帮帮我吗?

1 个答案:

答案 0 :(得分:1)

你需要逃避XPATH中的'

driver.findElement(By.xpath("//span[@ng-class='{\'details-section\': isSingle(b) && !isExist(b)}']")).getText();

进行全面比较也不是一个好主意,所以如果可能的话,做一个部分比较。因为即使很小的空间变化也会破坏代码

driver.findElement(By.xpath("//span[contains(@ng-class,'isSingle(b)')][contains(@ng-class,'!isExist(b)')]