一.selenium是什么?
selenium是浏览器自动化测试工具.
二.使用selenium
1.安装selenium
2.下载Chromedriver:
操作谷歌浏览器必须要有谷歌浏览器的一个驱动(不同浏览器需要用不同的驱动)
下载地址:http://chromedriver.storage.googleapis.com/index.html
对照表:
ChromeDriver | Chrome |
---|---|
ChromeDriver v77 | Supports Chrome version 77(小版本有待验证) |
ChromeDriver v76.0.3809.12 (2019-06-07) | Supports Chrome version 76(下载地址里有小版本对应关系) |
ChromeDriver v75.0.3770.8 (2019-04-29) | Supports Chrome version 75(下载地址里有小版本对应关系) |
ChromeDriver v74.0.3729.6 (2019-03-14) | Supports Chrome version 74(下载地址里有小版本对应关系) |
ChromeDriver v2.46 (2019-02-01) | Supports Chrome version 71-73 |
ChromeDriver v2.45 (2018-12-10) | Supports Chrome v70-72 |
ChromeDriver v2.44 (2018-11-19) | Supports Chrome v69-71 |
ChromeDriver v2.43 (2018-10-16) | Supports Chrome v69-71 |
ChromeDriver v2.42 (2018-09-13) | Supports Chrome v68-70 |
ChromeDriver v2.41 (2018-07-27) | Supports Chrome v67-69 |
ChromeDriver v2.40 (2018-06-07) | Supports Chrome v66-68 |
ChromeDriver v2.39 (2018-05-30) | Supports Chrome v66-68 |
ChromeDriver v2.38 (2018-04-17) | Supports Chrome v65-67 |
ChromeDriver v2.37 (2018-03-16) | Supports Chrome v64-66 |
ChromeDriver v2.36 (2018-03-02) | Supports Chrome v63-65 |
ChromeDriver v2.35 (2018-01-10) | Supports Chrome v62-64 |
查看自己的浏览器版本:
所以我下载的是:
三.简单操作谷歌浏览器
1.打开百度,停顿3秒后关闭
from selenium import webdriver
import time
# 模拟创建一个浏览器对象,通过对象操作浏览器
path = r'E:\chromedriver_win32\chromedriver.exe'
browser = webdriver.Chrome(executable_path=path)
# 打开百度,停顿3秒
url = 'http:///www.baidu.com/'
browser.get(url)
time.sleep(3)
# 关闭浏览器
browser.quit()
四.接口
1.根据id找节点:find_element_by_id
2.根据name找节点:find_element_by_name
3.根据xpath找节点:find_elements_by_xpath
4.根据标签名找节点:find_elements_by_tag_name
5.根据class找节点:find_elements_by_class_name
6.根据选择器找节点:find_elements_by_css_selector
7.根据链接内容找节点:find_elements_by_link_text
案例一:找出图中所画的框并输入文字进行查找
python代码:
from selenium import webdriver
import time
# 模拟创建一个浏览器对象,通过对象操作浏览器
path = r'E:\chromedriver_win32\chromedriver.exe'
browser = webdriver.Chrome(executable_path=path)
# 打开百度,停顿3秒
url = 'http:///www.baidu.com/'
browser.get(url)
time.sleep(3) # 因为结果有延迟,所以要停顿再查找
# 查找输入框
my_input = browser.find_element_by_id('kw')
# 在输入框输入文字
my_input.send_keys('窗花图片')
time.sleep(3)
# 搜索按钮
button = browser.find_element_by_id('su')
# 点击按钮
button.click()
time.sleep(3)
# 关闭浏览器
browser.quit()
案例二:在浏览器中搜索窗花图片并点击指定的图片
from selenium import webdriver
import time
# 模拟创建一个浏览器对象,通过对象操作浏览器
path = r'E:\chromedriver_win32\chromedriver.exe'
browser = webdriver.Chrome(executable_path=path)
# 打开百度,停顿3秒
url = 'http:///www.baidu.com/'
browser.get(url)
time.sleep(3) # 因为结果有延迟,所以要停顿再查找
# 查找输入框
my_input = browser.find_element_by_id('kw')
# 在输入框输入文字
my_input.send_keys('窗花图片')
time.sleep(3)
# 搜索按钮
button = browser.find_element_by_id('su')
# 点击按钮
button.click()
time.sleep(3)
# 点击第四张图片
image = browser.find_elements_by_class_name('op-img-address-link-type')[3] # 注意第四张图片的索引是3
image.click()
time.sleep(3)
# 关闭浏览器
browser.quit()
其他我就不在这一一演示,有兴趣的可以自己尝试一下