配置WebDriver
- 下载浏览器对应的WebDriver驱动
WebDriver驱动下载地址 |
---|
>ChromeDriver(Chrome浏览器) |
>geckodriver(Firefox浏览器) |
>Microsoft Edge WebDriver(Edge浏览器) |
-
安装驱动
- 将解压后的.exe文件放在Python解释器安装路径下
- OR 随便放一个地方,将路径添加到环境变量PATH里去
-
下载Selenium
pip install -U selenium
-
下载webdriver-manager
pip install webdriver-manager
基本语法
开启会话
chrome = webdriver.Chrome() #打开Chrome浏览器,其他浏览器同理
关闭会话
chrome.quit() # 关闭浏览器
打开网址
chrome.get("https://www.baidu.com") #打开百度,其他网址同理
元素
element = chrome.find_element(By.CLASS_NAME, 'link-login')
其中CLASS_NAME
是定位器。用来定位class
属性,第二个参数'link-login'
是属性值,用来配合定位。
find_element()函数只会返回匹配到的第一个元素
可以使用find_elements()函数以列表形式返回所有匹配到的元素
以下为所有定位器
定位器 Locator | 描述 |
---|---|
class name | 定位class属性与搜索值匹配的元素(不允许使用复合类名) |
css selector | 定位 CSS 选择器匹配的元素 |
id | 定位 id 属性与搜索值匹配的元素 |
name | 定位 name 属性与搜索值匹配的元素 |
link text | 定位link text可视文本与搜索值完全匹配的锚元素 |
partial link text | 定位link text可视文本部分与搜索值部分匹配的锚点元素。如果匹配多个元素,则只选择第一个元素 |
tag name | 定位标签名称与搜索值匹配的元素 |
xpath | 定位与 XPath 表达式匹配的元素 |
点击
element.click()
发送键值
element.send_keys("webdriver" + Keys.ENTER)
模拟用户输入webdriver
并且按下回车键 (即输入完毕执行操作)
注:此时执行操作的元素必须是可编辑的,比如搜索框
否则会返回invalid element state
错误,即无效元素状态错误
其他操作
使用WebDriver的过程中要加入一些等待
time.sleep()
防止因网页加载缓慢导致程序不同步,从而无法顺利运行
总结
用起来是so sasy,且常用在抢票,抢购方面,效果显著。
更多的等我再学一些再写。