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

时间:2017-03-27 16:37:55

标签: python xpath web-scraping splinter

我一直在尝试编写一个简单的脚本,以便将200多个链接上传到我正在工作的网站(我对Python的知识很差,甚至在HTML中也很差,当然我不是在工作Web开发人员,我只需要上传这些链接。)

嗯,我所处的情况如下:我正在使用Splinter(因此,Python)以便在网站中导航。本网站的某些部分标题将与我在.csv表中的值进行比较。

例如,在this screenshot中,我正在寻找此链接 / admin / pages / 5 ,我想比较链接的标题(Explorarsubpáginasde' MA111 - Cálculo我')和我的.CSV表。问题是链接的标题没有出现在网站上。

要找到链接,我猜我应该使用 find_by_xpath(),但我不知道该怎么做。我猜它就像this link

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

1 个答案:

答案 0 :(得分:0)

首先需要定义如何检测该网址,例如"它始终位于某个按钮的右侧",或者#34;它是表格中的第二行" 34;,这样你就可以构建相应的xpath(这是DOM内的一条路径。

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

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

如果您通过链接名称查找标记,请尝试以下操作:

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

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