安装driver
- chromdriver 需要对应chrome版本
- 提示权限不足,sudo chmod +x phantomjs
- chromdriver --version
- phantomjs --version
定位元素的方法
- driver.find_element #返回第一个元素,如果没有报错
- driver.find_elements #返回包含元素的列表,如果没有返回空列表
获取属性和文本的方法
- 获取文本:element.text
- 获取属性值:element.get_attribute(“href”)
验证码的识别
- url地址不变,验证码不变
- url地址不变,验证码变化
- 请求验证码,发送登录请求,需要带上统一套cookie,才能够都能路成功,对应可以使用requests.Session()来实现
- selenium处理验证码
- 带上selenium的driver中的cookie来请求验证码
- selenium截屏,获取验证
selenium如何使用
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get(url) #发送请求
driver.quit()
selenium定位元素的方法
- find_element 返回元素,没有会报错
- find_elements 返回包含元素的列表,没有就是空列表
- find_elements_by_xpath()
- find_elements_class_name()
- find_elements_by_id()
- element.text #元素获取文本
- element.get_attribute(“href”) #元素获取属性值
selenium如何处理frame
- driver.switch_to.frame(id,name,element)
练习代码
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("表情包")
driver.find_element_by_id("su").click()
cookies = {cookie["name"]: cookie["value"] for cookie in driver.get_cookies()}
print(cookies)
print(driver.current_url)
time.sleep(5)
driver.quit()