利用 selenium 的 webdrive 驱动 headless chrome
Posted my8100
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 selenium 的 webdrive 驱动 headless chrome相关的知识,希望对你有一定的参考价值。
1.参考
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的主要内容,如果未能解决你的问题,请参考以下文章
python爬虫动态html selenium.webdriver