gpt4 book ai didi

java - xPath 适用于最后一页,但不适用于第一页 - Selenium Java

转载 作者:行者123 更新时间:2023-12-02 01:45:07 24 4
gpt4 key购买 nike

我想从NCBI中提取一些数据在 Java 中使用 Selenium

问题在于 xPath /html/body/div[2]/div[1]/form/div[1]/div[5]/div/div[5]/div["+ i + "]/div[2]/p/a 获取页面上每篇文章的标题并单击它们,适用于最后一页,但不适用于第一页,我不明白为什么。

driver.findElement(By.xpath("/html/body/div[2]/div[1]/form/div[1]/div[5]/div/div[5]/div[" + i + "]/div[2]/p/a")).click();

最佳答案

我怀疑这是一个相差一错误,因为 XPath 的索引以 1 开头,并且 div[0] 不会匹配任何内容。

一般来说,您的表达式非常脆弱,因为它是一个绝对表达式,其路径从 HTML 树的根开始,一直到穿过每个父级的所需元素。任何微小的布局更改都会破坏它。

相反,我们可以认真简化表达式:

//div[contains(@class, 'rslt')]/p/a

这将匹配每页的所有 20 个链接。

或者,如果您更喜欢更简洁的 CSS 选择器:

driver.findElements(By.cssSelector(".rslt > p > a"));

关于java - xPath 适用于最后一页,但不适用于第一页 - Selenium Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53789223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com