基本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