Selenium的介绍
Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,Selenium 可以直接调用浏览器,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏等。
selenium的基本使用
无头模式/无界面模式/后台运行
from selenium import webdriver
from selenium.webdriver import ChromeOptions
#创建应用配置对象
option = ChromeOptions()
# 无界面启动,也可以直接设置options.headless=True
option.add_argument("--headless") # 指定无头模式
driver = webdriver.Chrome(options=option)
# 访问百度,发送请求
url = 'https://wwww.baidu.com'
driver.get(url)
WebDriver 操作浏览器方式
# 最大化浏览器
driver.maximize_window()
# 刷新
driver.refresh()
# 后退
driver.back()
# 前进
driver.forward()
# 最小化浏览器
driver.minimize_window()
# 设置浏览器大小
driver.set_window_size(300,300)
# 设置浏览器位置
driver.set_window_position(300,200)
# 关闭浏览器单个窗口
driver.close()
# 关闭浏览器所有窗口
driver.quit()
标签定位方法
from selenium import webdriver
driver = webdriver.Chrome()
# 窗口最大化
driver.maximize_window()
url = 'https://www.baidu.com'
driver.get(url)
"""根据标签属性定位"""
# 根据标签属性id定位
# send_keys() 赋值,传入值,输入值
driver.find_element(By.ID,'kw').send_keys('奥特曼')
# 根据标签class属性定位
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('迪迦')
# 根据标签name属性定位
driver.find_element(By.NAME,'wd').send_keys('葫芦娃')
#根据xpath语法定位
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys('喜羊羊')
#根据CSS语法定位
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys('小姐姐')
tip:
1. size、text、title、current_url:为属性,调用时无括号;如:xxx.size
2. title、current_url:使用浏览器实例化对象直接调用; 如: driver.title