> 文章列表 > 自动化测试——执行javaScript脚本

自动化测试——执行javaScript脚本

自动化测试——执行javaScript脚本

在这里插入图片描述


文章目录

  • 一、点击元素(对应的click())
  • 二、input标签对应的值(对应的send_keys())
    • 修改时间控件的属性值:
  • 三、元素的文本属性
  • 四、js脚本滚动操作

一、点击元素(对应的click())

使用场景:当使用显性等待不能解决问题时

自动化测试——执行javaScript脚本

代码中实现点击元素操作:driver.execute_script(“document.querySelector(‘.c-icon.icon-title_35rjV’).click()”)

import timefrom 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:获取文本中的文字
自动化测试——执行javaScript脚本
document.querySelector(‘#kw’).value=‘java’:修改文本框的文字
自动化测试——执行javaScript脚本

修改时间控件的属性值:

自动化测试——执行javaScript脚本

代码中实现修改文本框默认值操作: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}')

三、元素的文本属性

自动化测试——执行javaScript脚本

修改元素的文本信息,并且验证是否修改通过
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()')