自动化测试——执行javaScript脚本 淡淡的烟草味﹌ 2024-03-26 13:50 10阅读 0赞 ![在这里插入图片描述][853620488e0148b28a29cc761674bb35.webp_pic_center] -------------------- #### 文章目录 #### * 一、点击元素(对应的click()) * 二、input标签对应的值(对应的send\_keys()) * * 修改时间控件的属性值: * 三、元素的文本属性 * 四、js脚本滚动操作 ## 一、点击元素(对应的click()) ## **使用场景:当使用显性等待不能解决问题时** ![在这里插入图片描述][d92d723d41df4a799df0d19d1166aef1.png] > **代码中实现点击元素操作:driver.execute\_script(“document.querySelector(‘.c-icon.icon-title\_35rjV’).click()”)** import time from selenium import webdriver from selenium.webdriver.common.by import By #todo 点击元素 def test_baidu_js(): driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get('https://www.baidu.com/') driver.execute_script("document.querySelector('#kw').value='20230226'") driver.execute_script("document.querySelector('#su').click()") time.sleep(1) driver.execute_script("document.querySelector('.c-icon.icon-title_35rjV').click()") ## 二、input标签对应的值(对应的send\_keys()) ## > document.querySelector(‘\#kw’).value:获取文本中的文字 > ![在这里插入图片描述][2fdc87708f054c5490e3266a45370fcd.png] > document.querySelector(‘\#kw’).value=‘java’:修改文本框的文字 > ![在这里插入图片描述][b3d475acc5804224a43429fc217941d2.png] ### 修改时间控件的属性值: ### ![在这里插入图片描述][227267dd343845c28c2c238ee8cf113e.png] > **代码中实现修改文本框默认值操作:driver.execute\_script(‘document.querySelector(“\#train\_date”).value=“2024-01-01”’)** > **获取时间控件的信息,并返回出来date\_data=driver.execute\_script(‘return document.querySelector(“\#train\_date”).value’)** python执行js脚本 def test_12306_js(): driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get('https://www.12306.cn/index/') #修改时间控件的信息 driver.execute_script('document.querySelector("#train_date").value="2024-01-01"') #获取时间控件的信息,并返回出来 date_data=driver.execute_script('return document.querySelector("#train_date").value') print(f'获取的时间控件信息为:{ date_data}') ## 三、元素的文本属性 ## ![在这里插入图片描述][8284d8e660d54529977c8f7242c0bb42.png] > **修改元素的文本信息,并且验证是否修改通过 > driver.execute\_script(“document.querySelector(‘.mnav.c-font-normal.c-color-t’).innerText=‘今日新闻’”)** def test_baidu_js1(): driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get('https://www.baidu.com/') driver.execute_script("document.querySelector('.mnav.c-font-normal.c-color-t').innerText='今日新闻'") text_data=driver.execute_script("return document.querySelector('.mnav.c-font-normal.c-color-t').innerText") print(text_data) ## 四、js脚本滚动操作 ## > **滚动到页面底部: > document.documentElement.scrollTop=10000** def test_baidu_js2(): driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get('https://www.baidu.com/') driver.execute_script("document.querySelector('#kw').value='python'") driver.execute_script("document.querySelector('#su').click()") time.sleep(1) driver.execute_script("document.documentElement.scrollTop=10000") > **滚动到指定位置 > document.querySelector(“css表达式”).scrollIntoView()** def test_baidu_js3(): driver = webdriver.Chrome() driver.implicitly_wait(3) driver.get('https://www.baidu.com/') driver.execute_script("document.querySelector('#kw').value='python'") driver.execute_script("document.querySelector('#su').click()") time.sleep(1) driver.execute_script('document.querySelector(".c-title.t.t.tts-title").scrollIntoView()') [853620488e0148b28a29cc761674bb35.webp_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/22d72a64500c4599ba45b3ff14cdf101.png [d92d723d41df4a799df0d19d1166aef1.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/e13777985cd448dcb4ef3d0babadc64b.png [2fdc87708f054c5490e3266a45370fcd.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/01e6e8222d354512a9498f16520986a0.png [b3d475acc5804224a43429fc217941d2.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/9495026ff729402b87dba29ce710172b.png [227267dd343845c28c2c238ee8cf113e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/605b9eec22c7470380207e3702836755.png [8284d8e660d54529977c8f7242c0bb42.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/26/173779d7f53948e9a38987a1cfcfbd42.png
还没有评论,来说两句吧...