Selenium GUI自动化下载百度图片
背景:
作为测试人员和开发人员,我们时时的需要从网上下载一些图片用于上传到我们的系统中,或者使用我们代码对图片进行分析时,都需要我们能从网上下载图片,如果有一个程序代码能解放我们的双手,自动一张一张图片的下载,那么将是很nice的事。
目的:
使用selenium的GUI自动化来下载图片或使用requests接口进行获取图片(这个方法无法在csdn上发布,暂不考虑)
Python+Selenium GUI自动化下载自己需要的图片
思路:模拟手动动作从百度页面点击下载和点击翻页,然后下载好的图片会放在电脑的下载文件夹里
效果如下:
代码如下:
import os
import sys
from selenium import webdriver
import time
'''本类用于测试人员从网上下载测试需要用的素材
思路:模拟手动动作从百度图片页面点击下载和点击翻页
'''
class DownImage():
def __init__(self,keyWord):
prefixUrl = "/search/detail?ct=503316480&z=0&ipn=d&word="
suffixUrl = "&step_word=&hs=2&pn=1&spn=0&di=13200&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=113014737%2C3445157660&os=2351244306%2C2367448695&simid=3050896469%2C3730470527&adpicid=0&lpn=0&ln=362&fr=&fmq=1570618921319_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fgss0.baidu%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F0df431adcbef7609968039362cdda3cc7dd99e94.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp7xt_z%26e3Bv54_z%26e3BvgAzdH3Fetjof-8nbml9nnclam-8nbml9nnclamdbdd_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined"
if getattr(sys,'frozen',False):
chromedriver_path= os.path.join(sys._MEIPASS,'chromedriver.exe')
driver = webdriver.Chrome(chromedriver_path)
else:
self.driver = webdriver.Chrome()
self.driver.get(prefixUrl+keyWord+suffixUrl)
# 定义翻页操作
def up_page(self):
image = self.driver.find_element_by_xpath('//*[@id="container"]/span[2]/span')#下一秒元素
image.click()
time.sleep(1)
# 定义下载图片操作
def download_pictures(self):
down = self.driver.find_element_by_xpath('//*[@id="toolbar"]/span[7]/i')#下载元素
down.click()
time.sleep(1)
if __name__ == '__main__':
number = 10
# 设置下载内容
keyWord = '720*1280性感美女'
downImage = DownImage(keyWord)
for i in range(0, number):
downImage.up_page()
downImage.download_pictures()
print("已下载%d张图片" % (i + 1))
自动化下载图片篇结束,欢迎去我的主页查看其它技术类文章 ~ ~
Selenium GUI自动化下载百度图片
背景:
作为测试人员和开发人员,我们时时的需要从网上下载一些图片用于上传到我们的系统中,或者使用我们代码对图片进行分析时,都需要我们能从网上下载图片,如果有一个程序代码能解放我们的双手,自动一张一张图片的下载,那么将是很nice的事。
目的:
使用selenium的GUI自动化来下载图片或使用requests接口进行获取图片(这个方法无法在csdn上发布,暂不考虑)
Python+Selenium GUI自动化下载自己需要的图片
思路:模拟手动动作从百度页面点击下载和点击翻页,然后下载好的图片会放在电脑的下载文件夹里
效果如下:
代码如下:
import os
import sys
from selenium import webdriver
import time
'''本类用于测试人员从网上下载测试需要用的素材
思路:模拟手动动作从百度图片页面点击下载和点击翻页
'''
class DownImage():
def __init__(self,keyWord):
prefixUrl = "/search/detail?ct=503316480&z=0&ipn=d&word="
suffixUrl = "&step_word=&hs=2&pn=1&spn=0&di=13200&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=113014737%2C3445157660&os=2351244306%2C2367448695&simid=3050896469%2C3730470527&adpicid=0&lpn=0&ln=362&fr=&fmq=1570618921319_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fgss0.baidu%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F0df431adcbef7609968039362cdda3cc7dd99e94.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp7xt_z%26e3Bv54_z%26e3BvgAzdH3Fetjof-8nbml9nnclam-8nbml9nnclamdbdd_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined"
if getattr(sys,'frozen',False):
chromedriver_path= os.path.join(sys._MEIPASS,'chromedriver.exe')
driver = webdriver.Chrome(chromedriver_path)
else:
self.driver = webdriver.Chrome()
self.driver.get(prefixUrl+keyWord+suffixUrl)
# 定义翻页操作
def up_page(self):
image = self.driver.find_element_by_xpath('//*[@id="container"]/span[2]/span')#下一秒元素
image.click()
time.sleep(1)
# 定义下载图片操作
def download_pictures(self):
down = self.driver.find_element_by_xpath('//*[@id="toolbar"]/span[7]/i')#下载元素
down.click()
time.sleep(1)
if __name__ == '__main__':
number = 10
# 设置下载内容
keyWord = '720*1280性感美女'
downImage = DownImage(keyWord)
for i in range(0, number):
downImage.up_page()
downImage.download_pictures()
print("已下载%d张图片" % (i + 1))
自动化下载图片篇结束,欢迎去我的主页查看其它技术类文章 ~ ~