web自动化测试-第七讲: selenium发送js代码让浏览器执行js代码

语法很简单:driver.execute_script("js代码")

selenium发送js代码让浏览器执行js代码,经常遇到的两种场景:

一、窗口的滚动

        1、滚动到最底部:window.scrollTo(0,document.body.scrollHeight)

        2、需要被定位的元素没有在可视范围内,需要将滚动条滚动到可视范围内:

                ele = document.getElementById('kw')   

                ele.scrollIntoView()

"""
时间:2021/8/3-23:11
文件:class_07_01.py
姓名:瓜牛强强
QQ:1689785398@qq.com
"""
import time

from selenium import webdriver


# 打开浏览器
driver = webdriver.Chrome()
# 设置窗口大小,让你们看到效果
driver.set_window_size(100,400)
# 打开一个网页
driver.get("http://www.baidu.com/")
time.sleep(5)
js_0 = "ele = document.getElementById('kw')"            # 先定位id属性定位到输入框元素
js_1 = "ele.scrollIntoView()"                           # 滚动到输入框的位置
js_2 = "window.scrollTo(0,document.body.scrollHeight)"    # 滚动到最底部
driver.execute_script(js_0)
time.sleep(5)
driver.execute_script(js_1)
time.sleep(5)
driver.execute_script(js_2)
time.sleep(5)
# 关闭整个浏览器,并且关闭驱动chromedriver
driver.quit()

二、选择时间

以XXXXX官网为例子,现在去操作日期输入框,输入数值 

        第一种方法:通过js去定位元素

"""
时间:2021/8/3-23:29
文件:class_07_02.py
姓名:瓜牛强强
QQ:1689785398@qq.com
"""
import time

from selenium import webdriver


# 打开浏览器
driver = webdriver.Chrome()
# 窗口最大化
driver.maximize_window()
# 打开一个网页(有个小坑)
driver.get("https://www.60321.cn/index/")
time.sleep(5)
js = """
ele=document.getElementById('train_date');
ele.value = '2021-08-04'
"""
driver.execute_script(js)
time.sleep(5)
# 关闭整个浏览器,并且关闭驱动chromedriver
driver.quit()

        第二种方法:通过python去定位元素

"""
时间:2021/8/3-23:29
文件:class_07_02.py
姓名:瓜牛强强
QQ:1689785398@qq.com
"""
import time

from selenium import webdriver


# 打开浏览器
driver = webdriver.Chrome()
# 窗口最大化
driver.maximize_window()
# 打开一个网页(还是那个小坑)
driver.get("https://www.60321.cn/index/")
time.sleep(2)
# 通过python定位元素
ele = driver.find_element('id','train_date')
time.sleep(2)
js = 'arguments[0].readOnly=false;arguments[0].value="2021-08-04"'
driver.execute_script(js,ele)
time.sleep(5)
# 关闭整个浏览器,并且关闭驱动chromedriver
driver.quit()

To be continue,点个关注,持续更新。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值