文章目录
一、点击元素(对应的click())二、input标签对应的值(对应的send_keys())修改时间控件的属性值: 三、元素的文本属性四、js脚本滚动操作一、点击元素(对应的click())
使用场景:当使用显性等待不能解决问题时
代码中实现点击元素操作:driver.execute_script(“document.querySelector(‘.c-icon.icon-title_35rjV’).click()”)
import timefrom selenium import webdriverfrom mon.by import By#todo 点击元素def test_baidu_js():driver = webdriver.Chrome()driver.implicitly_wait(3)driver.get('/')driver.execute_script("document.querySelector('#kw').value='0226'")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:获取文本中的文字
document.querySelector(‘#kw’).value=‘java’:修改文本框的文字
修改时间控件的属性值:
代码中实现修改文本框默认值操作: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('/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}')
三、元素的文本属性
修改元素的文本信息,并且验证是否修改通过
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('/')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('/')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('/')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()')