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

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

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

相关脚本代码如下:

# coding=utf-8
import time
from selenium 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群,还会有同行一起技术交流)

获取页面元素的href属性

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

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

相关脚本代码如下:

# coding=utf-8
import time
from selenium import webdriver


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中主要有三个截图方法,我们挑选其中最常用的一种。

 

get_screenshot_as_file()
相关代码如下:

# coding=utf-8
import time
from selenium import webdriver


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-设计自动化测试框架的前提技能介绍

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

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

猜你喜欢

转载自www.cnblogs.com/xiaofeng778/p/13371530.html