前提是你已经安装了selenium,而且安装了相关chrome的驱动包,插件
1.导包
#from selenium import webdriver
2.定义一个自动化driver
#options =webdriver.ChromeOptions()
#options.add_argument('userAgent':fsdaaaa')
#driver = webdriver.Chrome(chrome_options=options)
3.自动化浏览器链接url
#driver.get(url)
4.获取页面信息
#html =driver.page_source
5.获取元素结点
a.根据xpath
driver.find_elements_by_xpath("//div[@id='aaa']")
b.根据css
diver.find_elements_by_css_selector('.className #idName pNagName')
#css的值是多个的时候.a.b
#test = driver.find_element_by_css_selector( '.clearfix.main-nav li a')
#test.click()
c.根据ID
driver.find_element_by_id('id')
6.执行javascript
driver.execute_sctipt('js语句')
7.actionchain的使用
导入包
#from selenium.webdriver import ActionChains
#driver.switch_to.frame('frame的id')
#actions =ActionChains(driver)
#action.drag_and_drop(其实element, 最后element)
#action.perform()
8.获取元素结点的属性
#element.get_attribute('class')
9.获取文本,id,location,tagName ,size
#文本:element.text
#id:element.id
#location:element.location
#tagname:element.tag_name
#size:element.size
10.等待
a.隐式等待(找不到结点,才会等待,再找)
#driver.implicity_wait(10)
b.显式等待(在规定时间内加载出节点,返回结点,否则报错)
#from selenium.webdriver.support.ui import WebDriverWait
#from selenium.webdriver.common.by importBy
#from selenium.webdriver.support importexpected_conditions as EC
#wait =WebDriverWait(10)
#EC.presence_of_element_located_id没有这种写法
#input =wait.until(EC.presence_of_element_located((By.ID, 'q')))#注意(By.ID, 'q')整个是参数
#button = wait.ubtil(EC.element_to_be_click((By.CSS_SELECTOR, '.ssd')))
11.前进后退
driver.back()
driver.forward()
12.cookies
a.获取cookies:driver.get_cookies()
b.添加cookies:driver.add_cookie({'name':'name','domain':'www.zhihu.com','value':'germey'})
c.删除所有cookies:driver.delete_all_cookies()
13.选项卡管理
a.获取当前开启的所有选项卡:driver.window_handles
b.切换选项卡:driver.switch_to_window()
14.异常处理
try:
xxx
except:
yyy
finally:
zzz