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

Selenium WebDriver-使用findElements选择webelements(By.xpath

江鹏
2023-03-14

我有一个网页,从中我必须从web元素中提取一组名称。我的想法是首先使用“findElements(By.xpath…”提取所有这些元素,类似这样:

List<WebElement> someElements = driver.findElements(By.xpath("XPATH???"));

所有这些元素都有如下xPath模式

/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[1]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[2]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[3]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[4]/div[1]/h2/a
/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div[5]/div[1]/h2/a

正如您所看到的,唯一的变化是倒数第二个div正在发生变化。我的问题是,我如何编写这行代码来填充webelement列表,具体是什么。xPath()?

非常感谢!

共有3个答案

易骁
2023-03-14

更改代码部分如下-

List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div/div[1]/h2/a"));
伯庆
2023-03-14
List<WebElement> divs = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div"))
严俊友
2023-03-14

我不完全确定你在这里想要实现什么。

如果你想要所有的div:

List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div/div[1]/div[6]/div[*]/div[1]/h2/a"));

如果没有,请给我一个你试图得到的实际元素的例子。

 类似资料:
  • 问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J

  • 问题内容: 我在Hibernate的Internet上看到了一些用于select语句的示例。下面是示例代码。 为什么我们要为select语句开始并提交事务? 问题答案: 一切都在交易范围内发生。有时,软件会自动为您管理交易,而hibernate则不会。无论是只读还是否,在hibernate状态下都必须打开和关闭事务。

  • WebElements 是一组 Python 对象用来在服务器端生成 Web 应用,面向服务器端开发,代码可非常方便的进行重用。 示例代码: from WebElements import Document, Displaypage = Document()page += Display.Label(text="Hello World!")print page生成的代码: <!DOCTYPE ht

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • 希望能澄清一下我什么时候应该使用和。这可能不是节奏问题,但也许我错过了一些关于Golang的知识。 对于我认为基本思想是等待通道的下一个输出。不完全确定什么是可以。 例如,在cadence示例中,< code>local_activity链接并粘贴在下面: 我们不使用任何 但是,在这里的例子中,它也使用信号通道:根据外部输入改变优步节奏睡眠时间 我还会将代码粘贴到这里 你可以看到有,我不完全确定它

  • 我正在用chromedriver运行selenium,并且它都运行得很好。最近我试着同时使用10个chromedrivers,这会占用所有可用的内存,所以我试着用ChromeOptions中的headless选项来解决这个问题。 尝试了以下选项: 试图在类似的帖子中找到一些信息,但找不到一个有效的解决方案。谢谢你。