自动化测试 selenium 模块 webdriver使用02

自动化测试 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')

之后进入浏览器:查找位置。
自动化测试 selenium 模块 webdriver使用02_第1张图片
通过循环
找到图片网址
保存

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))

你可能感兴趣的:(自动化测试 selenium 模块 webdriver使用02)