1. 程式人生 > >【轉】利用 selenium 的 webdrive 驅動 headless chrome

【轉】利用 selenium 的 webdrive 驅動 headless chrome

edr 使用 fin fire logs ble user () 穩定性

1.參考

使用 headless chrome進行測試

2.概念

Headless模式解決了什麽問題: 自動化工具例如 selenium 利用有頭瀏覽器進行測試,面臨效率和穩定性的影響,所以出現了 Headless Browser, 3年前,無頭瀏覽器 PhantomJS 已經如火如荼出現了,緊跟著 NightmareJS 也成為一名巨星。無頭瀏覽器帶來巨大便利性:頁面爬蟲、自動化測試、WebAutomation... 用過PhantomJS的都知道,它的環境是運行在一個封閉的沙盒裏面,在環境內外完全不可通信,包括API、變量、全局方法調用等。

So, Chrome59 推出了 headless mode,Chrome59版支持的特性,全部可以利用:
ES2017
ServiceWork(PWA測試隨便耍)
無沙盒環境
無痛通訊&API調用
無與倫比的速度

3.代碼

#coding:utf-8
from selenium import webdriver

url = "http://demo.testfire.net"
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(‘--headless‘)
chrome_options.add_argument(‘--disable-gpu‘)
driver = webdriver.Chrome(chrome_options=chrome_options,executable_path=/Users/xxxx/driver/chromedriver
) driver.get(http://demo.testfire.net) driver.find_element_by_xpath(//*[@id="_ctl0__ctl0_LoginLink"]).click() driver.find_element_by_xpath(//*[@id="uid"]).clear() driver.find_element_by_xpath(//*[@id="uid"]).send_keys(admin) driver.find_element_by_xpath(//*[@id="passw"]).send_keys(admin) driver.find_element_by_xpath(
//*[@id="login"]/table/tbody/tr[3]/td[2]/input).click() print driver.current_url

最後 print 出登錄成功的當前 url:http://demo.testfire.net/bank/main.aspx

【轉】利用 selenium 的 webdrive 驅動 headless chrome