首页 > 代码库 > 【转】利用 selenium 的 webdrive 驱动 headless chrome

【转】利用 selenium 的 webdrive 驱动 headless chrome

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