自动化测试 selenium 模块 webdriver使用02
跟据我上一篇文章:
往下走:
实现滚动下拉:
整体滚动下拉是这样的:
for i in range(3):
browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
text = browser.page_source
我之后要通过text来获取图片并进行保存:
导入模块有:
from selenium import webdriver
from urllib import request
from bs4 import BeautifulSoup
soup = BeautifulSoup(text,'lxml')
li_list = soup.select('.imgpage ul li')
之后进入浏览器:查找位置。
通过循环
找到图片网址
保存
for li in li_list:
href = li['data-objurl']
print(href)
request.urlretrieve(href,'%s.jpg'%li_list.index(li))
整体代码是:
import time
from selenium import webdriver
from urllib import request
from bs4 import BeautifulSoup
# 实例化浏览器对象
browser = webdriver.Chrome("./chromedriver.exe")
# 向服务器发起请求
browser.get('http://image.baidu.com/')
time.sleep(2)
# 输入关键字
input_tag = browser.find_element_by_id('kw')
input_tag.send_keys('腰子姐')
time.sleep(2)
# 点击搜索
button = browser.find_element_by_class_name('s_search')
button.click()
time.sleep(2)
# 实现滚动下拉
for i in range(3):
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
text = browser.page_source
# 实现数据解析
soup = BeautifulSoup(text, 'lxml')
li_list = soup.select('.imgpage ul li')
for li in li_list:
href = li['data-objurl']
print(href)
request.urlretrieve(href, '%s.jpg' % li_list.index(li))