无法使用css选择器[JAVA]找到元素

时间:2017-03-30 13:39:23

标签: selenium css-selectors

网站:http://www.javatpoint.com/

步骤:首先点击 JAVA =>向下滚动,然后点击 Java String =>的子串

我试图使用cssSelector找到webelement,但无法找到该元素,而我能够使用xpath找到相同的元素。

enter image description here

driver.findElement(By.xpath("//div/a[text()='Substring']"));

我选择过的css选择器:

driver.findElement(By.cssSelector("div>a[text='Substring']"));
driver.findElement(By.cssSelector("div>a:contains('Substring')"));

2 个答案:

答案 0 :(得分:1)

正如其他人所说,使用CSS选择器无法通过包含文本找到元素。要做到这一点,你必须使用XPath。

但是......有一个替代的CSS选择器可以在这里工作,a[href='substring']。这匹配基于A标记的href属性,至少根据发布的HTML,它在页面上是唯一的并且应该可以工作。

答案 1 :(得分:0)

无法使用cssSelector 选择内部文本,因此无法执行此操作。 如果你需要这样做,请使用xPath。