[Python]使用Selenium控制瀏覽器

安裝Selenium

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
pip install selenium
pip install selenium
pip install selenium

下載web driver

Chrome: Google Chrome

其餘browser webdriver : https://docs.seleniumhq.org/download/

解壓縮後打webdriver放到python安裝用錄即全部project可用,亦可以只放到單一project目錄供指定project使用

例範

get方式打開網址

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://google.com/')
browser.quit()
from selenium import webdriver browser = webdriver.Chrome() browser.get('https://google.com/') browser.quit()
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://google.com/')
browser.quit()

如果只需單一project調用,需要加上webdirver路徑

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
browser = webdriver.Chrome("webdriver_path")
browser = webdriver.Chrome("webdriver_path")
browser = webdriver.Chrome("webdriver_path")

快速截圖

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
browser.save_screenshot("example.png")
browser.save_screenshot("example.png")
browser.save_screenshot("example.png")

設定成全螢幕

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
broswer.maximize_window()
broswer.maximize_window()
broswer.maximize_window()

指定窗口大小

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
broswer.set_window_size(1366,768)
broswer.set_window_size(1366,768)
broswer.set_window_size(1366,768)

運行javascript

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
findBtn = browser.find_element_by_xpath('//input[@type="submit"][@name="btnK"]')
browser.execute_script('arguments[0].click();',findBtn)
findBtn = browser.find_element_by_xpath('//input[@type="submit"][@name="btnK"]') browser.execute_script('arguments[0].click();',findBtn)
findBtn = browser.find_element_by_xpath('//input[@type="submit"][@name="btnK"]')
browser.execute_script('arguments[0].click();',findBtn)

新增分頁、切換分頁

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
print browser.current_window_handle
js = 'window.open("https://yahoo.com");'
browser.execute_script(js)
handles = browser.window_handles
for h in handles:
if browser.current_window_handle != h:
browser.switch_to.window(h)
print browser.current_window_handle
print browser.current_window_handle js = 'window.open("https://yahoo.com");' browser.execute_script(js) handles = browser.window_handles for h in handles: if browser.current_window_handle != h: browser.switch_to.window(h) print browser.current_window_handle
print browser.current_window_handle
js = 'window.open("https://yahoo.com");'
browser.execute_script(js)
handles = browser.window_handles
for h in handles:
    if browser.current_window_handle != h:
        browser.switch_to.window(h)
        print browser.current_window_handle