使用selenium 与 js还有联用来操作页面元素
from selenium import webdriver
from selenium.common.exceptionsimport WebDriverException
import unittest
import traceback
import time
class TestDemo(unittest.TestCase):
def setUp(self):
#启动Chrome浏览器
self.driver= webdriver.Chrome(executable_path='C:\Python\Python37\chromedriver.exe')
def test_excuteScript(self):
#访问baidu首页
url= 'http://www.baidu.com'
self.driver.get(url)
#构造js查找百度首页的搜索输入框的代码字符串
searchInputBoxJS= "document.getElementById('kw').value='光荣之路';"
#构造js查找百度首页的搜索按钮的代码字符串
searchInputButtonJS = "document.getElementById('su').click()"
try:
#通过js代码在百度首页搜索输入框中输入“光荣之路”
self.driver.execute_script(searchInputBoxJS)
time.sleep(2)
#通过js代码单击百度首页上的搜索按钮
self.driver.execute_script(searchInputBoxJS)
self.assertTrue("百度百科" in self.driver.page_source)
except WebDriverException as e:
#当定位失败时,会抛出WebdriverException异常
print("页面中没有找到要操作的页面元素", traceback.print_exc())
except AssertionError as e:
#发生其他异常时,打印异常堆栈信息
print(traceback.print_exc())
def tearDown(self):
#t退出Chrome浏览器
self.driver.quit()
if __name__== '__main__':
unittest.main()