我有一个网页,我必须从网页元素中提取一堆名称。我的想法是首先使用" 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列表,By.xPath()会怎么做?
非常感谢提前!
答案 0 :(得分:0)
List<WebElement> divs = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div"))
答案 1 :(得分:0)
按如下方式更改代码部分 -
List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div[11]/div[1]/div[6]/div/div[1]/h2/a"));
答案 2 :(得分:0)
我不完全确定你在这里想要达到的目标。
如果你想要所有的div:
List<WebElement> someElements = driver.findElements(By.xpath("/html/body/div[1]/div/div/div/div[1]/div[6]/div[*]/div[1]/h2/a"));
如果没有,请向我提供您想要获得的实际元素的示例。