selenium 常用操作
chrome版本较高,禁用GPU加速,否则一直报错
|
1
2
3
4
|
chrome_opt = webdriver.ChromeOptions()chrome_opt.add_argument('--disable-gpu') path = r"D:/tools/chromedriver/chromedriver.exe" driver = webdriver.Chrome(executable_path=path,chrome_options=chrome_opt) |
### 1. driver对象的常用属性和方法
> 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法
1. `driver.page_source` 当前标签页浏览器渲染之后的网页源代码
2. `driver.current_url` 当前标签页的url
3. `driver.close()` 关闭当前标签页,如果只有一个标签页则关闭整个浏览器
4. `driver.quit()` 关闭浏览器
5. `driver.forward()` 页面前进
6. `driver.back()` 页面后退
7. `driver.screen_shot(img_name)` 页面截图
### 2. driver对象定位标签元素获取标签对象的方法
> 在selenium中可以通过多种方式来定位标签,返回标签元素对象
find_element_by_id (返回一个元素)
find_element(s)_by_class_name (根据类名获取元素列表)
find_element(s)_by_name (根据标签的name属性值返回包含标签对象元素的列表)
find_element(s)_by_xpath (返回一个包含元素的列表)
find_element(s)_by_link_text (根据连接文本获取元素列表) driver.find_element_by_link_text("下一页 >").click()
find_element(s)_by_partial_link_text (根据链接包含的文本获取元素列表)
find_element(s)_by_css_selector (根据css选择器来获取元素列表)
不推荐:
find_element(s)_by_tag_name (根据标签名获取元素列表)
- 注意:
- find_element和find_elements的区别:
- 多了个s就返回列表,没有s就返回匹配到的第一个标签对象
- find_element匹配不到就抛出异常,find_elements匹配不到就返回空列表
- by_link_text和by_partial_link_tex的区别:全部文本和包含某个文本
### 3. 标签对象提取文本内容和属性值
> find_element仅仅能够获取元素,不能够直接获取其中的数据,如果需要获取数据需要使用以下方法
获取文本`element.text`
对元素执行点击操作`element.click()`
获取属性值`element.get_attribute("属性名")`
对元素发送数据element.send_keys()

浙公网安备 33010602011771号