在我的应用程序中,有超过 50 个以“pw_listing_widget_tabs_list_ul']/li”开头的链接。我想点击随机生成的链接。我已经写在下面了,但是点击链接失败。
List<WebElement> links= driver.findElements(By.xpath("//ul[@id='pw_listing_widget_tabs_list_ul']/li"));
int count=links.size();
System.out.println("Total links are: " +count);
Random r = new Random();
int linkNo = r.nextInt(count);
System.out.println("Random Link# " +linkNo);
WebElement link = links.get(linkNo);
String text = link.getText();
System.out.println("Text: " + text);
Thread.sleep(3000);
link.click();
我什至尝试使用文本单击链接,但文本太长并且无法单击。
最佳答案
如果您想点击链接( anchor 标记),请尝试将其专门指向标记a。
您能否将您的 XPath 更改为
//ul[@id='pw_listing_widget_tabs_list_ul']/li/a
List<WebElement> links= driver.findElements(By.xpath("//ul[@id='pw_listing_widget_tabs_list_ul']/li/a"));
问题2:我什至尝试过使用文本点击链接,但文本太长,无法点击。
Ans2:您的元素指向 <li>
当你使用link.getText();
时它将返回 <li>
中的所有文本不在里面<a href="">{ANCHOR-TAG-TEXT}</a>
Try to use the below XPATH:
//ul[@id='pw_listing_widget_tabs_list_ul']/li/a
注意:如果可能,请分享错误代码和 HTML
关于java - 如何单击链接列表中随机生成的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61416253/