繁体   English   中英

使用文本定位元素

[英]Locating elements using text

在以下HTML中,我需要能够使用“选择产品”中的文本选择元素。

<div style="font-family: franklin-gothic-urw; font-weight: 400; font-style: normal; font-size: 19px; opacity: 1; color: rgb(255, 255, 255);">SELECT&nbsp;PRODUCT</div>

所有资源使我想到了这样的东西:

driver.findElement(By.cssSelector("div[textContent='SELECT PRODUCT'])

这不起作用。 我已经尝试了其他各种xpaths和cssSelector,但似乎无法找到它来定位元素。

通过它的绝对路径来定位元素是可行的,但是它很脆弱,我们不想这样定位它:

html/body/div[3]/div[1]/div/div[3]/div/div/div/div/div[1]/div/div/div/div/div[2]/div[2]/div/div/div/div/div[2]/div

同样,按样式选择也不起作用,因为页面上有多个具有相同格式的元素。

我已经尝试了很长时间了。 通过文本定位元素的正确方法是什么?

通过XPath找到元素:

driver.findElement(By.xpath("//div[. = 'SELECT PRODUCT']"));

或者,作为解决&nbsp;的变通办法 在文字里面

driver.findElement(By.xpath("//div[starts-with(., 'SELECT') and contains(., 'PRODUCT')]"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM