selenium 执行js脚本
使用 selenium 直接在当前页面中进行js交互
使用selenium 执行 Js 脚本
要使用 js 首先要知道 js 怎么用,现在举个简单得例子,就用12306举例子, 它的首页日期选择框是只能手动去选择对应得时间,因为他是 readonly 属性,要改为自
动选择得话,就需要通过 js 去修改。在控制台中我们可以简单得进行操作,如图:

使用selenium的话,思路是一样的,先将readonly属性通过js去掉,然后执行js将它的时间日期改掉,代码如下
# Base 为上一章节的base.py默认继承下来的东西
from base import Base
import pytest
import time
class TestJs(Base):
def test_js(self):
url = 'https://www.12306.cn/index/'
self.driver.get(url)
date_js = 'document.getElementById("train_date").removeAttribute("readonly")'
self.driver.execute_script(date_js)
time.sleep(2)
date_js2 = 'document.getElementById("train_date").value="2024-06-30"'
self.driver.execute_script(date_js2)
# ss = self.driver.find_element_by_xpath('//*[@id="train_date"]').text
# print(f'更改之后当前的日期为:{ss}')
if __name__ == '__main__':
pytest.main(["-vs", "test_chromjs.py"])
selenium 执行js脚本的更多相关文章
- Selenium执行js脚本
如何使用Selenium来执行Javascript脚本呢 Selenium中提供了一个方法:execute_script 来执行js脚本 return 可以返回js的返回结果 execute_scri ...
- selenium webdriver学习(三)------------执行js脚本
selenium webdriver学习(三)------------执行js脚本 博客分类: Selenium-webdriver 在用selenium 1.X的时候常常会用到getEval() ...
- Selenium执行JavaScript脚本
JavaScript是运行在客户端(浏览器)和服务器端的脚本语言,允许将静态网页转换为交互式网页.可以通过 Python Selenium WebDriver 执行 JavaScript 语句,在We ...
- AngularJs中,如何在render完成之后,执行Js脚本
AngularJs是Google开源的前端JS框架.使用AngularJs, 我们能够容易地.健壮的开发出类似于Gmail一样的单页Web应用.AngularJs这个新兴的MVC前端框架,具有以下特点 ...
- selenium执行js报错
selenium执行js报错 Traceback (most recent call last): dr.execute_script(js) File "C:\Python27\l ...
- A标签执行JS脚本
A标签执行JS脚本 分类: Web2012-12-25 22:48 1368人阅读 评论(0) 收藏 举报 前言 A标签是html中常用的标签,它与button按钮是实现页面跳转的两种最常用的方式,经 ...
- Selenium执行测试脚本稳定性的一些经验分享交流
Selenium执行测试脚本稳定性的一些经验分享交流 公司的自动化WEB测试框架IATA已上线运行了一段时间,期间发现一些脚本稳定性的问题,与大家分享一下. CASE执行游览器:ie firefox ...
- 在java代码中执行js脚本,实现计算出字符串“(1+2)*(1+3)”的结果
今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一 ...
- Angular在render完成之后,执行Js脚本
AngularJs中,如何在render完成之后,执行Js脚本 app.directive('onFinishRenderFilters', function ($timeout) { return ...
- 异步执行js脚本——防止阻塞
JS允许我们修改页面中的所有方面:内容,样式和用户进行交互时的行为. 但是js同样可以阻塞DOM树的形成并且延迟页面的渲染. 让你的js变成异步执行,并且减少不必要的js文件从而提高性能. JavaS ...
随机推荐
- MySql 入门——日期计算
MySQL自带的日期函数TIMESTAMPDIFF计算两个日期相差的秒数.分钟数.小时数.天数.周数.季度数.月数.年数,当前日期增加或者减少一天.一周等等 SELECT TIMESTAMPDIFF( ...
- LVS负载均衡 2022年4月
1. 负载均衡技术简介 2 1.1 负载均衡类型3 1.2 LVS简介4 1.3 Keepalived简介5 2. 负载均衡搭建主要步骤 6 2.1 LVS+Keepalived的负载均衡系统搭建6 ...
- Winform 使用DotNetBar 设置界面为Office2007 样式
public partial class FrmMain : DevComponents.DotNetBar.Office2007RibbonForm { public FrmMain() { Ini ...
- 学习记录--C++继承与派生编程题
1.设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生出来的 要求输出一个圆桌的高度,面积与颜色等. #include<iostream&g ...
- Spring设计模式——原型模式
原型模式 原型模式(Prototype Pattern),是指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象. 原型模式主要适用于以下场景: 类初始化消耗资源较多 使用new生成一个对象 ...
- 刘勇智:一码通缺陷分析与架构设计方案丨声网开发者创业讲堂 Vol.02
本文内容源自「声网开发者创业讲堂 Vol.02」的演讲分享,分享讲师为 Thoughtworks 专家级咨询师刘勇智.大家可以点击此链接,观看视频回放以及下载讲师 PPT. 从去年年底到现在,随着疫情 ...
- Solon2 接口开发: 强化 Gateway 模式
一般可以从这几方面对 Gateway 模式进行强化: 定制异常状态码 定制基类 将一些处理独立封装成类 接口只返回数据部份,异常状态用抛 强化之后,具体的网关即简单,又功能强大.同时会对团队开发形成一 ...
- 处理尚不存在的 DOM 节点
探索 MutationObserver API 与传统轮询等待最终被创建的节点方法相比的优劣. 有时候,您需要操作尚未存在的 DOM 的某个部分. 出现这种需求的原因有很多,但你最常看到的是在处理第三 ...
- Spring AOP面向切面编程案例 (注解驱动开发)
AOP(动态代理):指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式:[1]导入 aop 模块:Spring AOP:(spring-aspects):[2]定义一个业务逻辑类 ...
- StringBuilder 导致堆内存溢出
StringBuilder 导致堆内存溢出 原始问题描述: Exception in thread "main" java.lang.OutOfMemoryError: Java ...