gpt4 book ai didi

java - 使用 Selenium WebDriver 和 Java 生成 Span 类 getText()

转载 作者:行者123 更新时间:2023-11-30 02:19:11 25 4
gpt4 key购买 nike

其中一行内的表格包含以下可用的 td,我想获取单独字符串中的跨度类值(其动态 n 个跨度可能可用),意思是1111 FRANKLIN STREET OAKLAND, CALIFORNIA 94607-5200:

HTML

<td colspan="5">
<p class="caption">Assignee</p>
<a class="ng-binding ng-scope" alt="View assignment(s)" ui-sref="search.resultAssignee(goToAssignee(assignee))" ng-repeat-start="assignee in abstract.patAssigneeName track by $index" href="#assigneeName=THE%20REGENTS%20OF%20THE%20UNIVERSITY%20OF%20CALIFORNIA">UNIVERSITY OF CALIFORNIA</a>
<p class="ng-scope">
<span class="ng-binding ng-scope" ng-if="abstract.patAssigneeAddress1[$index] !== ''">1111 FRANKLIN STREET<br></span>
<span class="ng-binding ng-scope" ng-if="abstract.patAssigneeCity[$index] !== '' && abstract.patAssigneeState[$index] !== ''">OAKLAND, CALIFORNIA 94607-5200<br></span>
<span class="ng-binding"> </span>
</p>
<br class="ng-scope" ng-repeat-end="">
</td>

我可以使用下面的 XPath 轻松获取受让人姓名(使用表进行迭代):

String recAssignee = driver.findElement(By.xpath(" //*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/a")).getText().replace("Assignee", "");

请帮忙获取跨度类值。

最佳答案

首先获取所有 span 元素并将它们保存在 WebElement 列表中。然后在循环中使用 getText() 获取元素。您可以像下面这样使用:

List<WebElement> allSpanElements = driver.findElements(By.xpath(" //*[@id='printable-area']/table[" + r + "]/tbody/tr[4]/td/p[2]/span"));
for (WebElement elem : allSpanElements) {
String address = elem.getText();
//System.out.println(address);
}

您可以用来将值保留在字符串数组中。

您还可以尝试使用类名而不是 xpath,例如 -

By.className("ng-binding ng-scope");

关于java - 使用 Selenium WebDriver 和 Java 生成 Span 类 getText(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47349690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com