html - 如何使用 xpath 读取多个子标题?

标签 html css selenium xpath

我想使用 selenium 中的 XPath 从 CNN 新闻网站阅读头条新闻链接。我给出了我的 XPath,如下所示。

text = ieDriver.findElement(By.xpath(//*[@id="intl_homepage1-zone-1"]/div[2]/div/div[2]/ul/article[1]/div/div[2]/h3/a/span[1]/strong")).getText();

它只读取一个子标题,但我想读取所有顶级商店标题,我该怎么做?

我知道如果我更改 article[2],article[3]...article[i] 它将读取。有没有办法使用单个 XPath 读取它?

最佳答案

获取头条新闻链接的单个xpath是:

//div[contains(@data-analytics,'Top stories_list-hierarchical')]//h3[@class='cd__headline']/a/span[1]

您必须先将元素存储在列表中。为此,请使用“findElements”而不是“findElement”,因为 findElement 将仅返回一个元素。

然后您可以遍历列表并打印所有 Web 元素的文本。

关于html - 如何使用 xpath 读取多个子标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45413644/

相关文章:

css - 当我调整 div 大小时,div 的框阴影似乎仍然为 'overlay'

python - 在python中同步运行循环

Python Selenium 循环

html - 使页面 curl 的透明图像与纯色背景一起使用

javascript - 如何计算不同 DPI 下图像每英寸的像素数?

html - 使用 <img> 的 Sprite 图像

java - 为什么我无法处理两个浏览器?

javascript - 从textarea到div的文本具有有限的宽度和高度

javascript - 对于所有屏幕尺寸,在一个导航中将第二个 div 设置为低于第一个

javascript - 固定比例页面自动缩放