selenium:自动化测试工具,支持多种浏览器,解决js渲染问题
https://www.cnblogs.com/Snail-offort/p/8761652.html
selenium 的核心组件叫做 Selenium-RC(Remote Control),简单来说它是一个代理服务器,浏览器启动时通过将它设置为代理,它可以修改请求响应报文并向其中注入 Javascript,通过注入的 JS 可以模拟浏览器操作,从而实现自动化测试。但是注入 JS 的方法存在很多限制,譬如无法模拟键盘和鼠标事件,处理不了对话框,不能绕过 JavaScript 沙箱等等。就在这个时候,于 2006 年左右,Google 的工程师 Simon Stewart 发起了 WebDriver 项目,WebDriver 通过调用浏览器提供的原生自动化 API 来驱动浏览器,解决了 Selenium 的很多疑难杂症。不过 WebDriver 也有它不足的地方,它不能支持所有的浏览器,需要针对不同的浏览器来开发不同的 WebDriver,因为不同的浏览器提供的 API 也不尽相同,好在经过不断的发展,各种主流浏览器都已经有相应的 WebDriver 了。最终 Selenium 和 WebDriver 合并在一起,这就是 Selenium 2.0,有的地方也直接把它称作 WebDriver。Selenium 目前最新的版本已经是 3.9 了,WebDriver 仍然是 Selenium 的核心。
#coding=utf-8
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get(‘https://www.douban.com/’)
kw=driver.find_element_by_id(‘form_email’).send_keys(‘2308040488@qq.com’)
password=driver.find_element_by_id(‘form_password’).send_keys(’’)
sub=driver.find_element_by_class_name(‘bn-submit’).click()
time.sleep(3)
cookies={i[‘name’]:i[‘value’] for i in driver.get_cookies()}
driver.quit()