如何使用 XPath 查找元素的位置?

How to find an element's position using XPath?

我一直在尝试编写一个简单的脚本,以便将 200 多个 link 上传到我正在工作的网站(我对 python 的了解甚至更差HTML,当然我不是网络开发人员,我只需要上传这些 links)。

好吧,我的情况如下:我正在使用 Splinter(因此,Python)以便在网站中导航。本网站的某些部分标题将与我在 .csv table.

中的值进行比较

例如,在this screenshot中,我正在寻找这个link/admin/pages/5,我想比较link 的标题(探索 'MA111 - Cálculo I' 的子页面)和我的 .CSV table。问题是 link 的标题没有出现在网站上。

要找到 link 我想我应该使用 find_by_xpath(),但我不知道该怎么做。我猜它类似于 this link.

如有任何帮助,我将不胜感激!我希望我已经说清楚了。

您首先需要定义如何检测 url,例如 "it is always to the right of certain button" 或 "it is the second row in a table",这样您就可以构建相应的 xpath(这是一个DOM.

中要遵循的路径

我不太确定,但这可以为您提供解决方案

url = browser.find_by_xpath('//td[@class="children"]/a')[0]['href']

例如,如果您通过 link 名称查找标签,请尝试以下操作:

url = browser.find_by_xpath('//a[contains(@title, "MA111 - Cálculo I")]')[0]['href']

如果你检查那里,xpath 说“在整个 DOM // 中找到一个名为 a 的标签,它在 title 中包含 "MA111 - Cálculo I"属性。