Python Selenium 自动化恢复邮件(二),用find_element().text 所爬取数据文本化,生成报告。

针对上篇(链接如下)恢复邮件的遗留问题进行更新。

Python自动化 利用Selenium模块 利用网页版邮件端恢复删除的邮件(企业邮箱为例)-CSDN博客

代码工作正常,但结果是这样的::

源代码:

通过.find_element方法返回网页元素。


report_dict = {}

report_dict['时间']=wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[1]')

report_dict['发件人']=wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[2]')

report_dict['主题']=wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[3]')

time.sleep(5)

解决方案:

如果您想获取该元素文本值,可以使用.text方法提取它。

dict = {}

report_dict['时间'] = wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[1]').text

report_dict['发件人'] = wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[2]').text

report_dict['主题'] = wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[3]').text

time.sleep(5)


print(report_dict)

最后,会以字典的形式打印出所需要的信息,列表也可以。

对于第二项“发件人”,需要一个具体的属性(title),则我们需要使用.get_attribute(attributename)方法接收链接。

翻译 ——   Attribute:属性,element:元素

report_dict['发件人'] = wd.find_element_by_xpath('//[@id="div_data"]/div[2]/table/tbody/tr[4]/td[2]').get_attribute("title")

但如何总结写进一个文档里,用何办法?

一,此code中是用字典存储的(dict to file python),所以我写入的代码如下。record_file在上面有定义一下它的路径等。

with open(record_file, 'a+') as f:
    for key, value in report_dict.items():
        f.write(f"{str(key)}: {str(value)}\t")
    f.write("\n")

二,若是使用列表存储的(list to file python),则存储的代码就需要变动成list形式。

那么list to file code,代码如下。 

with open(r"C:\Users\xxxx\Desktop\test2.txt", 'a+') as f:
    for item in report_list:
        f.write(item)
    f.write("\n")

好的,本次小练习就完美收官了。

你可能感兴趣的:(Python,运维,selenium,python)