基本API
- forward
- max
- fullscreen
- cookie
- switch
- execute_script
execute_script
def test_execute_script(self): raw=self.driver.execute_script("return JSON.stringify(window.performance.timing)") print(raw)
结果
{ "navigationStart": 1560562650364, "unloadEventStart": 0, "unloadEventEnd": 0, "redirectStart": 0, "redirectEnd": 0, "fetchStart": 1560562650374, "domainLookupStart": 1560562650386, "domainLookupEnd": 1560562650386, "connectStart": 1560562650386, "connectEnd": 1560562650560, "secureConnectionStart": 1560562650434, "requestStart": 1560562650561, "responseStart": 1560562650707, "responseEnd": 1560562650710, "domLoading": 1560562650718, "domInteractive": 1560562651496, "domContentLoadedEventStart": 1560562651497, "domContentLoadedEventEnd": 1560562651537, "domComplete": 1560562652148, "loadEventStart": 1560562652148, "loadEventEnd": 1560562652151 }
这个结果比requests更详细,可以获取requests无法得到的一些内部指标。
RemoteWebDriver
- https://selenium-python.readthedocs.io/getting-started.html#using-selenium-with-remote-webdriver
- Selenium Standalone Server https://www.seleniumhq.org/download/
启动selenium server,类似appium server
java -jar selenium-server-standalone-3.141.59.jar -debug
脚本更改
#self.driver = webdriver.Chrome(options=options) self.driver=webdriver.Remote(desired_capabilities=DesiredCapabilities.CHROME)
传统模式下 webdriver.Chrome(
python testcase -> chromedriver -> chrome
Remote模式下
python testcase -> 远程selenium server -> chromedriver/iedriver -> chrome/ie
cookie
def test_cookie(self): print(self.driver.get_cookies()) self.driver.add_cookie({"name": "a", "value":"b"}) self.driver.add_cookie({"name": "name", "value": "name demo"}) print(self.driver.get_cookies())
document.cookie获取测试
Chrome上面控制台获取cookie,document.cookie
Page Object
2019-06-15 10:19:37
-
selenium python库中的文档 https://selenium-python.readthedocs.io/page-objects.html
-
firefox母公司开源 PyPOM https://github.com/mozilla/PyPOM/tree/master/src/pypom
-
driver的封装
-
page的封装
-
testcase