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

 

posted @ 2021-01-06 12:27  遥月  阅读(158)  评论(0)    收藏  举报