Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 无法使用css选择器[JAVA]定位元素_Selenium_Css Selectors - Fatal编程技术网

Selenium 无法使用css选择器[JAVA]定位元素

Selenium 无法使用css选择器[JAVA]定位元素,selenium,css-selectors,Selenium,Css Selectors,网站: 步骤:首先单击JAVA=>向下滚动,然后单击JAVA字符串=>子字符串 我试图使用cssSelector定位webelement,但无法定位该元素,而我可以使用xpath定位相同的元素 我尝试过的css选择器: driver.findElement(By.cssSelector("div>a[text='Substring']")); driver.findElement(By.cssSelector("div>a:contains('Substring')")); 无法

网站:

步骤:首先单击JAVA=>向下滚动,然后单击JAVA字符串=>子字符串

我试图使用cssSelector定位webelement,但无法定位该元素,而我可以使用xpath定位相同的元素

我尝试过的css选择器:

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

无法使用cssSelector选择内部文本,这是不可能的。
如果需要这样做,请使用xPath。

正如其他人所说,您无法使用CSS选择器通过包含的文本来定位元素。为此,必须使用XPath


但是。。。这里有一个可供选择的CSS选择器,
a[href='substring']
。这是基于标签的href属性进行匹配的,至少根据发布的HTML,标签在页面上是唯一的,应该可以工作。

driver.findelelement(By.Xpath(//span[contains(text(),'Java String')])没错,您不能使用文本内容通过
CSS
选择器来定位元素。你的问题是什么?我浏览了互联网上的一些文档,了解到我们可以使用CSS选择器在元素中定位文本。但我不能用CSS选择器来定位它,我不会这么说。也许您需要重新表述您的答案,因为“innerHTML”似乎不是您真正想要使用的:)好的,内部文本:。@JeffCThank谢谢你的评论。我已经检查过了,效果很好,但我只关心innertext。至少有4个人已经说过,你不能在innertext上使用CSS选择器。是的,我现在知道了。如果你觉得这个(或任何)答案有帮助,请投票。如果这回答了您的问题,请将其标记为已接受的答案。谢谢
driver.findElement(By.cssSelector("div>a[text='Substring']"));
driver.findElement(By.cssSelector("div>a:contains('Substring')"));