java - 如何单击链接列表中随机生成的链接

标签 java selenium selenium-webdriver

在我的应用程序中,有超过 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/

相关文章:

java - 在另一个 ImageView 之上加载 ImageView

selenium-webdriver - NoSuchElementException - 无法定位元素

java - 无法启动 chrome,即在使用 Selenium 网格的节点上

c# - Selenium WebDriver 从范围中选择 (IWebElement)

java - 如何为selenium java代码添加循环条件

java - 将 jqplot 图表导出为 PDF

java - SQL SERVER 2008-无法获取 ddl 架构中少数对象的对象定义?

java - 在 Adob​​e Air Extension 中向 Android 添加 Activity

java - 无法获取使用selenium xpath动态显示的双引号中的值

RS Selenium : Can't see Browser as I run my Code