使用 chromedriver 查找包含文本 IMG、Java Selenium 的 Spans [重复]
Posted
技术标签:
【中文标题】使用 chromedriver 查找包含文本 IMG、Java Selenium 的 Spans [重复]【英文标题】:Finding Spans that contain the text IMG, Java Selenium with chromedriver [duplicate] 【发布时间】:2020-12-16 20:10:45 【问题描述】:我的程序需要找到一系列文本以 IMG 开头的 Span。该表可能有多个满足此条件的跨度。示例格式为:
<td>
<span> IMG Sales Report </span>
</td>
我尝试了几行不同的代码,但结果总是为零。这是我最近的尝试。
List<WebElement> files = driver.findElements(By.xpath("//span[starts-with(text(), 'IMG')]"));
任何帮助将不胜感激,因为我找不到有效的解决方案。
【问题讨论】:
【参考方案1】:这对我有用。IMG 前面有前导空格。
//span[starts-with(normalize-space(.), 'IMG')]
输出
【讨论】:
【参考方案2】:要打印 List 的 id attribute 元素,您需要为 @987654325 诱导 WebDriverWait @ 并且您可以使用 Java8 stream()
和 map()
并且您可以使用以下任一 Locator Strategies:
使用 xpath 和 starts-with()
:
List<String> myIDs = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//span[starts-with(., 'IMG')]")));
使用 xpath 和 contains()
:
List<String> myIDs = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//td/span[contains(., 'IMG')]")));
参考文献
您可以在以下位置找到一些相关的详细讨论:
How do I find an element that contains specific text in Selenium Webdriver (Python)?【讨论】:
以上是关于使用 chromedriver 查找包含文本 IMG、Java Selenium 的 Spans [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Selenium ChromeDriver 从 span 类中获取文本