当前位置: 首页 > 知识库问答 >
问题:

获取特定类selenium webdriver(java)下/中的所有链接

劳高爽
2023-03-14

有没有办法获取某个特定类下的所有链接?

问题是,我正在写一个测试,要求我点击一个随机的项目/产品,但是如果一个用户通过创建一个所有链接的列表。标记名(“a”),它将获取页面上的所有链接。更确切地说,考虑这个网站,现在我想随机选择从<代码> PRT> <代码>,代码>暑期< /代码>代码>销售< /代码>,<代码>附件<代码>,<代码> BT草坪'16/代码>,<代码>销售> /代码>,代码>查找书> /代码>或点击“代码>夏令时< /COD>”后,我想随机点击其中的一个产品。知道怎么做吗?

以下是我的程序片段:

共有2个答案

隆安然
2023-03-14

如果要从您提到的站点中选择所有类,请使用以下xpath

List<WebElement> allMenus = driver.findElements(By.xpath(".//a[contains(@class, 'level0')]"));

然后循环浏览WebElements,以获得所需的菜单项。此外,还可以观察到,鼠标悬停在特定项目上后,子菜单项会显示出来。要执行鼠标悬停操作,我们必须使用操作类。请查找以下代码以供参考。

Actions mouseHovers = new Actions(driver);
// Looping through the menu items stored in the above list variable
for(WebElement eachMenu : allMenus) {
    mouseHovers.moveToElement(eachMenu).perform();
    // Select the desired sub-menu by using the above line of code by replacing the "eachMenu" element with the respective sub-menu element.
}

希望这有帮助。

堵睿范
2023-03-14

实际上,您正在使用不正确的xpath来定位pret夏季销售配件bt草坪'16销售lookbook,链接尝试以下:-

List<WebElement> allLinks = driver.findElements(By.cssSelector("a.level0"));
Random random = new Random();
WebElement randomLink = allLinks.get(random.nextInt(allLinks.size()));
randomLink.click();
 类似资料:
  • 我有一个HTML,比如, 这里有两个“tel”类元素,如何提取这两个元素?如果程序不知道这些名为“tel”的类的数量,如何提取?请帮忙。 最终目标是获取tel类元素中的所有文本。 我已经试着用下一个兄弟元素来解决这个问题。但是那里没有运气。不过我可能试错了。请纠正我或帮助我实现我在这里尝试的目标。 提前谢谢。

  • 问题内容: 如果我有一个水果列表,其中包含各种实现,如,等。该列表是必需的,因为其他方法会对列表中的所有水果执行常规操作。 如何将特定类型的所有对象从列表中删除?例如所有的苹果?进行instanceof / if-else检查非常难看,尤其是在有许多不同的类时。 如何改善以下内容? 问题答案: 您应该知道-实例是不好的代码实践。 编写.getType()(返回的对象的枚举类型)怎么办?

  • 我试图解析我的大学网站,以获得一个新闻列表(标题+链接)从主要网站。然而,当我试图解析一个完整的网站时,我要查找的链接被嵌套在其他类、表等的深处。下面是我试图使用的代码: 但不管用。如果每一个链接都放在以下位置,那么是否有更好的方法获得所有这些链接的href值和标题: 也许是某种循环,它会迭代所有这些标记,并从中获取值? 感谢帮助:-)

  • 问题内容: 我有一个类,我想找到它的所有 公共字段 (不是方法)。我怎样才能做到这一点? 谢谢! 问题答案: 返回该类的所有公共变量的数组。 返回整个类继承中的字段。如果要仅在相关类中定义字段,而不在其超类中定义字段,请使用,并通过以下方法过滤它们: 的字面实际上代表类型的对象。检查其文档以获取更多有趣的反射方法。 上面的类是。您可以查看整个程序包。

  • X1.2新增 sp_sql_posts_bycatid($cid,$tag,$where) 功能: 根据分类文章分类ID 获取该分类下所有文章(包含子分类中文章),调用方式同sp_sql_posts 参数: $cid:分类id $tag:查询标签,以字符串方式传入,例:"order:post_date desc,listorder desc;"field:调用post指定字段,如(id,post

  • 问题内容: 使用JavaScript在具有特定CSS类的html文档中获取所有元素的数组的最佳方法是什么? 目前没有像jQuery这样的JavaScript框架现在允许在这里使用,我可以循环所有元素并亲自检查它们。我希望有一些优雅的东西。 问题答案: 它的值得指出的对于原生浏览器支持已经得到了_很多_更好。但是,如果您必须支持旧版浏览器,那么… 使用已经写好的一个。大多数主要的JS库都以某种形式包