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群,还会有同行一起技术交流)
获取页面元素的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中主要有三个截图方法,我们挑选其中最常用的一种。
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。注意路径是要两个\\