python抓取网页数据并截图_Python+Selenium练习篇之15-获取当前页面全部图片信息/获取页面元素的href属性/如何截图并保存...

Python+Selenium练习篇之15-获取当前页面全部图片信息/获取页面元素的href属性/如何截图并保存

获取当前页面全部图片信息

本文来介绍下如何获取当前页面全部的图片信息,图片信息可能包括,图片名称,图片大小等。

相关脚本代码如下:

# coding=utf-8import timefromselenium import webdriver

driver=webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(6)

driver.get("http://news.baidu.com")

time.sleep(1)for image in driver.find_elements_by_tag_name("img"):

print (image.text)

print (image.size)

print (image.tag_name)

运行结果:

运行结果,发现没有图片名称打印出来,说明百度新闻页面,所有图片都没有给出text这个属性,前端的妹子没有写图片的text属性。

(海量免费学习资料,软件测试交流:1140267353群,还会有同行一起技术交流)

20200724181434-5f1b250ade901.jpg

获取页面元素的href属性

文来介绍如何通过Selenium获取页面元素的某一个属性。一个元素可能有多个属性,例如 class, id, name, text, href, vale等等。这里我们举例一个爬虫中经常需要处理的链接问题:找出当前页面所有的超链接。(海量免费学习资料,软件测试交流:1140267353群,还会有同行一起技术交流)

已百度首页为例,打印所有包含href的元素的链接。

相关脚本代码如下:

#coding=utf-8

importtimefrom selenium importwebdriver

driver=webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(6)

driver.get("https://www.baidu.com")

time.sleep(1)for link in driver.find_elements_by_xpath("//*[@href]"):print (link.get_attribute('href'))

driver.quit()

这里只是找元素的href属性,如果你需要其它属性,例如你需要查看页面所有元素具有id值的话,你可以这样写

print (link.get_attribute('id'))

如何截图并保存

介绍如何利用Selenium的方法进行截图,在测试过程中,是有必要截图,特别是遇到错误的时候进行截图。在selenium for python中主要有三个截图方法,我们挑选其中最常用的一种。

20200724181435-5f1b250b93010.png

get_screenshot_as_file()

相关代码如下:

#coding=utf-8

importtimefrom selenium importwebdriver

driver=webdriver.Chrome()

driver.maximize_window()

driver.implicitly_wait(6)

driver.get("https://www.baidu.com")

time.sleep(1)

driver.get_screenshot_as_file("C:\\Users\\你的账户名\\Desktop\\baidu.png")

driver.quit()

执行结果:

会在桌面保存一张百度首页的截图,图片后缀是png。注意路径是要两个\\

今天是练习篇最后一篇,相信大家对Python+Selenium的这个自动化测试更加熟悉啦,后面分享的是中级篇,如果是刚开始接触自动化测试的可以翻一翻前面的基础篇学习(海量免费学习资料,软件测试交流:1140267353群,还会有同行一起技术交流)

上一篇    Python+Selenium练习篇之14-处理iframe切换/处理Alert弹窗

下一篇    Python+Selenium中级篇之1-设计自动化测试框架的前提技能介绍

以上仅供参考和借鉴,希望对你有所帮助!

点个关注不迷路

小枫文章整理不易,欢迎各位朋友点赞关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值