WebDriver有2个方法执行Java Script脚本。
(1)同步执行:execute_script
(2)异步执行:execute_async_script
from selenium import webdriver
from time import sleep
class TestScriptss(object):
def setup(self):
self.driver = webdriver.Chrome()
self.driver.get("http://www.baidu.com")
#执行js提示框,并点确定
def test_scripts(self):
self.driver.execute_script("alert('test')")
sleep(2)
self.driver.switch_to.alert.accept()
self.driver.quit()
#执行脚本获取当前页面标题
def test_scripts(self):
js = "return document.title"
title = self.driver.execute_script(js)
print(title)
sleep(2)
self.driver.quit()
#格式化文本框
def test_format(self):
js = 'var q = document.getElementById("kw"); q.style.border="10px solid red"'
self.driver.execute_script(js)
sleep(5)
self.driver.quit()
#通过脚本实现页面滚动
def test_scroll(self):
self.driver.find_element_by_id('kw').send_keys('selenium test')
self.driver.find_element_by_id('su').click()
sleep(2)
#搜索结果页面滚动
js = 'window.scrollTo(0, document.body.scrollHeight)'
# 同步执行
self.driver.execute_script(js)
#异步执行
# self.driver.execute_async_script(js)
sleep(2)
self.driver.quit()
以上来自:极客时间课程:selenium自动化测试学习总结。