java - 无法从通用 Xpath 检索值

标签 java arrays selenium-webdriver

我需要显示来自共享公共(public) Xpath 的多个 Web 元素的文本。

下面是我使用的代码:

List<WebElement> cmtnames =driver.findElements(By.xpath("//*[@id='issue_actions_container']/div/div/div/div[2]/a")); 
System.out.println(cmtnames.size());

List<String> cmtlist = new ArrayList<String>();
for(int u=0;u<cmtnames.size();u++) 
{                               
cmtlist.add(cmtnames.get(u).getText());
System.out.println(cmtnames.get(u).getText());
}

代码说明: 由于 Xpath 有多个元素,我使用 List of 来存储它,并将这些 Web 元素文本存储在一个数组中。显示这些 Web 元素的大小,但在运行期间,它仅显示前两个元素值,第三个显示为空白。

注意:当我将窗口的缩放级别从(100 到 90)降低时,上述场景工作正常,但降低此缩放级别似乎并不总是一个战略解决方案,因为 Xpath 可能包含超过3 个 Web 元素,因此不可能定义满足所有此类场景的准确缩放尺寸。请给我建议一个更好的解决方案。

最佳答案

尝试:

Actions action = new Actions(webdriver);
WebElement element = driver.findElement(By.xpath("//*[@id='issue_actions_container']/div/div/div/div[2]/a"));
action.moveToElement(element).build().perform(); // to move to the element

List<WebElement> cmtnames =driver.findElements(By.xpath("//*[@id='issue_actions_container']/div/div/div/div[2]/a"));
for(WebElement e : cmtnames ){
System.out.println(e.getText()); // to print all the elements
}

关于java - 无法从通用 Xpath 检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504765/

相关文章:

java - 如果类被修改,是否重新生成 Web 服务客户端 stub ?

java - Microsoft SQL Server 与 Java 的日期问题

php - 当php中的数组为空时,json_encode函数不返回大括号{}

java - 如何对所有页面使用一个参数并使用页面对象模型模式(Webdriver + Java + JUnit)进行测试?

java - 这是什么类型的窗口,我该如何使用 Selenium 处理它?自动化?

java - 通过考虑依赖关系在 ECLIPSE 中部署可运行的 jar

java - 在 C# 中,我们可以想象在不编写委托(delegate)的情况下编写我们自己的事件吗?

Python bin 成对的交错数组

java - 如何在java中比较字符串数组列表值和数组字符串值

java - 无法单击 ExtJS 下拉按钮并选择列表元素 - Selenium Webdriver Java