2017年6月12日 星期一

Python邊學邊記錄-selenium_webdriver

Python Selenium

今天透過BeautifulSoup去虎航的網頁過多次,加上技巧不好,大概是被發現我在爬了吧= =
回頭來透過selenium的webdriver處理也是另一個方式!

透過webdriver如果想開立chrome的話,需要去下載chrome的webdriver!
依著自己的crhome版本來下載-連結!
不放心的話,可以直接google一下,就可以馬上找的到相關資料的!

下載之後,個人的習慣是跟專案放在一起。
chrome_path = 'D:\pyCrawler\selenium_driver_chrome\chromedriver.exe'
driver = webdriver.Chrome(chrome_path)
driver.maximize_window()
driver.set_page_load_timeout(60)
driver.get(TigerUrl)

執行之後,就可以直接開立網頁了!
透過selenium來執行的話,程式會直接的開立網頁,因為這是直接像人在操作一樣了,過於複雜的動態網頁,用這個來處理的話還蠻方便的!
當然還是可以調整成背景作業,不過那是後續優化的事了!

操作記錄

Selenium可以做的事很多,可以find_element_by_id、by_tag、by_class...也可以等待網頁上某個元件一定出現之後才向下繼續執行!

Select Option Dropdownlist

要給下拉選項值的話需要兩段作業,先定位再給值!
作法有兩種:
一、
from selenium.webdriver.support.ui import Select
el = Select(driver.find_element_by_id('id'))
el.select_by_value('option')
二、
driver.find_element_by_id('id').click()
for option in driver.find_element_by_id('id').click():
    if option.text == '':
        option.click()




沒有留言:

張貼留言