close

Selenium提供利用瀏覽器對Web進行操作測試,

本篇利用Python來控制Chrome瀏覽器的操作。

 

首先當然是必須已安裝好Chrome瀏覽器啦~

接者,到下面的網頁下載ChromeDriver (筆者目前的版本為2.22)

https://sites.google.com/a/chromium.org/chromedriver/downloads

(記得要選取您的作業系統的對應版本唷)

 

下載完畢之後進行解壓縮,會有chromedriver.exe的執行檔,

可以點擊開啟,呈現畫面如下:

 

接下來,把此檔案放到C槽的目錄之下,並要記得此檔案路徑,

筆者是在C槽之下開了一名為selenium_driver_chrome的資料夾,

把此檔案放在C:\selenium_driver_chrome\chromedriver.exe

 

接下來就可以來利用Python操作瀏覽器啦~

程式碼如下

 

第8行的chrome_path是存進chromedriver.exe所存放的目錄。

本篇以進入中央氣象局網站為例,

進入網站後,會進行瀏覽器位置、視窗大小的調整(第12,13行),

瀏覽器移動到左上角,並且視窗大小為700x700的正方形

 

第14行為請程式等待5秒再繼續進行,

第16行是點擊「天氣預報」的連結,接者等待5秒之後關閉瀏覽器。

 


第16行,webdriver有許多方法,

本篇使用的是find_element_by_link_text(),還有許多方法如下:

find_element_by_name()
find_element_by_id()
find_element_by_tag_name()
find_element_by_partial_link_text()
find_element_by_css_selector()

 

用法可以參考SeleniumHQhttp://www.seleniumhq.org/docs/03_webdriver.jsp


  2018/11/02 更新  

有讀者反應程式無法自動點擊,
筆者實測上述版本Chrome Driver 2.22版確實無法自動點擊,且也無法自動調整視窗大小,
應為使用Chrome瀏覽器不同版本的問題,沒有記錄到當時程式可正常運作的瀏覽器版本

ChromeDriver 2.22版,建議使用Chrome瀏覽器51版以上。

chrome2.22.PNG

 

目前最新ChromeDriver為2.43版,支援Chrome瀏覽器69版以上。

chrome2.43.PNG

 

目前測試可正常執行之環境為:
Chrome Driver 2.43版,Chrome瀏覽器69版,Python 3.5.1版

 

使用上述環境執行時,瀏覽器上還會出現「Chrome目前受到自動測試軟體控制」的提示字樣 =)

selenium_update.PNG


 

參考:

YouTube影片:How to Web Scrape with Python (Selenium/ChromeDriver),https://www.youtube.com/watch?v=bhYulVzYRng

Python的Documentation (16.3. time — Time access and conversions)https://docs.python.org/3.5/library/time.html

Stackoverflow,http://stackoverflow.com/questions/14090369/how-find-element-by-tag-name-and-find-elements-by-tag-name-differs

 

請不吝指教 =)

arrow
arrow
    文章標籤
    python
    全站熱搜

    Jialin 發表在 痞客邦 留言(3) 人氣()