selenium python:如何查找网页上的每封电子邮件?

时间:2015-07-14 04:01:41

标签: python email selenium

网站不会将电子邮件地址显示为文本,有些按钮可以打开电子邮箱,但电子邮件地址会显示在源代码中。

每封电子邮件都是这种类型的HTML代码:

<a onclick="CC('palthoff@mcpaz.com', '', '','','');" href="#"><img src="/cpd/images/icons/email_yellow_sm.gif" border="0"></a>

我可以通过xpath获取元素:

email = browser.find_element_by_xpath("//*[@id="row2FC"]/td[2]/div/a")

但是当我“打印email.text”时,什么都没有显示出来。我知道如果文本显示在页面上它只打印文本,但是我怎样才能打印“onclick”中显示的电子邮件地址? onclick =“CC('电子邮件地址)'

我想从这个网站获取每个电子邮件地址,但我无法弄清楚如何打印该文本。

非常感谢您的帮助。对不起,如果这是基本的,我谷歌搜索我的问题,找不到我要找的东西。

2 个答案:

答案 0 :(得分:1)

要打印电子邮件的文本,您可以在自己的答案中对get_attribute方法返回的字符串进行切片:

emails = browser.find_elements_by_tag_name("a")

for x in range(0,len(emails)):
    code = emails[x].get_attribute("onclick")
    email = code[4:len(code)-17]
    print email

答案 1 :(得分:0)

我明白了。

代码如下:

emails = browser.find_elements_by_tag_name("a")

for x in range(0,len(emails)):
    code = emails[x].get_attribute("outerHTML")
    print code

它打印完整的外部HTML。有没有办法解析什么打印?

<a onclick="CC('dbennett@realdevelopment.com', '', '','','');" href="#"><img src

删除电子邮件以外的所有内容?