selenium的webdriver爬取网页基本步骤

前提是你已经安装了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

你可能感兴趣的:(selenium的webdriver爬取网页基本步骤)