在webdriver中主要用来解决点击无法生效问题 代码如下:
from selenium import webdriver import time driver = webdriver.Chrome() driver.get('https://www.12306.cn/index/') time.sleep(4) js_cf ="document.getElementById('fromStationText').value='上海南'" driver.execute_script(js_cf) time.sleep(5) js_dd = "document.getElementById('toStationText').value='北京西'" driver.execute_script(js_dd) time.sleep(5) js_time = '''document.getElementById('train_date').removeAttribute('readonly') document.getElementById('train_date').value="2020-11-25"''' driver.execute_script(js_time)
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
import unittest
import traceback
import time
class TestDemo(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Chrome()
def test_executeScript(self):
url='http://www.baidu.com'
self.driver.get(url)
#Javascript查找百度页面输入框代码字符串
BoxJs='document.getElementById("kw").value="学艺的海盗";'
#构造Javascript查询百度页面搜索按钮代码字串符
Js='document.getElementById("su").click()'
try:
self.driver.execute_script(BoxJs)
time.sleep(2)
self.driver.execute_script(Js)
time.sleep(3)
self.assertTrue(u'贴吧百度' in self.driver.page_source)
except WebDriverException as e:
print(u'在页面没有要找到的元素',traceback.print_exc(),e)
except AssertionError as e:
print(u'页面不存在断言关键字',e)
except Exception as e:
print(traceback.print_exc(),e)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()