使用Selenium / Python查找html页面的特定元素

时间:2013-10-17 10:07:25

标签: python selenium-webdriver

我有多个div类元素级别,我需要找到一个特定元素并获取文本值并存储在变量中。

<div class="Serial">
<p> … </p>
<p>
<span>
    <a href="mailto:xyz@xyz.com">
        Mr. XYZ
    </a>
</span>
</p>
<p> … </p>
<p> … </p>

因此,我们有4个不同的段落,其中我只需要阅读第二段并将电子邮件ID保存到变量中。当我使用以下代码时,

find_element_by_xpath("//div[@class='Serial']")

我获得了所有4段信息。无论如何我可以指定在div类中读取哪个段落?我知道订单不会改变,我只想读第二个p元素。感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以尝试访问<p>代码xpath find_element_by_xpath("//div[@class='Serial']/p[2]/span/a")来访问第二段中的电子邮件ID。

答案 1 :(得分:0)

我认为依靠段落的顺序并不完全正确 - 有一天它可能会改变,而那些将会追随你的人可能会被p [2]略微混淆。由于您需要通过电子邮件链接查找段落中的文本,我相信这个XPath可以解决这个问题:

//p[span/a[starts-with(@href, 'mailto:')]]