巴特西
首页
Python
Java
PHP
IOS
Andorid
NodeJS
JavaScript
HTML5
selenium 处理js输入框
巧妙利用selenium中的JS操作来处理特殊的文本框
在使用selenium对页面进行相关操作时,有时候会遇到以下三种情况: 1.日期框:无法直接输入文本,必须要选择某一天的日期并点击才会填入文本框: 2.检索框:可以直接输入文本,但必须要点击根据输入的文本检索出来的下拉列表的某一项: 3.置灰的文本框:无法直接输入文本 按照常规套路,我们通常都会采取各种元素定位方法按照操作步骤一步一步来实现,但是遇到上面三种奇葩,页面定位操作就显得有些捉襟见肘了,因此我们可以通过selenium中的javascript操作来处理它. 我们以12306铁路官网的查
JS输入框邮箱自动提示(带有demo和源码)(转载)
今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输入框邮箱自动提示" 和我前几次写的编写简易的JS输入框模糊查询 插件 功能类似了!也google了下 到底是个什么样的效果,看了下也没有什么特别之处,所以趁着今天没有什么事情做的话 写一个这样的出来 给大家分享下 也可以自己积累下,以后如果项目中碰到类似的效果可以直接拿来用. 说了这么多!我们先来看
selenium执行js报错
selenium执行js报错 Traceback (most recent call last): dr.execute_script(js) File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 397, in execute_script {'script': script, 'args':converted_args})['value'] File &qu
JS输入框邮箱自动提示(带有demo和源码)
今天在javascriptQQ群里面 有童鞋问到 有没有 "JS输入框邮箱自动提示"插件,即说都找遍了github上源码 都没有看到这样类似的插件,然后我想了下 "JS输入框邮箱自动提示" 和我前几次写的编写简易的JS输入框模糊查询 插件 功能类似了!也google了下 到底是个什么样的效果,看了下也没有什么特别之处,所以趁着今天没有什么事情做的话 写一个这样的出来 给大家分享下 也可以自己积累下,以后如果项目中碰到类似的效果可以直接拿来用. 说了这么多!我们先来看
编写简易的JS输入框模糊查询匹配(附有源码和demo)
前言:JS输入框模糊匹配插件以前在工作写过一个类似的 所以这次写轻松很多,这次写优化了几个方面: 1. 添加动态加载css文件 不需要引入css css全部在JS动态生成. 2. 不需要额外的标签 只需要一个input输入框 并且默认指定一个class类名为 "inputElem" 当然也可以自己配置参数 还需要一个当前父级容器增加一个默认类名 parentCls(也可以自己配置),因为输入框匹配值后需要一个隐藏域 所以需要隐藏域增加一个class "hiddenCls&qu
Java&;Selenium调用JS实现高亮被操作页面元素高亮
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author davieyang * @create 2018-08-05 1:37 */ package util; import org.openqa.selenium.*; import java.util.Arrays; public class JavaScriptToDo { /** * * @param driver
Python+Selenium自动化-清空输入框、输入内容、点击按钮
Python+Selenium自动化-清空输入框.输入内容.点击按钮 1.输入内容 send_keys('valve'):输入内容valve #定位输入框 input_box = browser.find_element_by_id('kw') try: #输入内容:selenium input_box.send_keys('selenium') print('搜索关键词:selenium') except Exception as e: print('fail') #输出内容:搜索关键词:
自动化测试-20.selenium常用JS代码执行
前言: 在工作中有些控件定位不到,需要操作,使用JS代码去修改或者操作达到selenium不能做的操作. 1.Web界面的滑动 1 #coding:utf-8 2 from selenium import webdriver 3 import time 4 5 d = webdriver.Firefox() 6 d.implicitly_wait(10) 7 d.maximize_window() 8 d.get(r'https://www.tmall.com/') 9 time.sleep(1
selenium webdriver——JS对Input执行输入
直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: Demo:用JS输入 import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; /** * @au
selenium+Python(Js处理日历控件)
日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如何解决日历控件为readonly属性的问题. 基本思路:先用js去掉readonly属性,然后直接输入日期文本内容 一.日历控件 1.打开12306的车票查询界面,在出发日期输入框无法直接输入时间 2.常规思路是点开日历控件弹出框,从日历控件上点日期,这样操作比较烦躁,并且我们测试的重点不在日历控件上,只是想输入个时间,做下一步的操作 3.用firebug查看输入框
selenium 执行js代码
获取一个input输入框的值: JavascriptExecutor js =(JavascriptExecutor) driver; merchatName=js.executeScript("return arguments[0].value", m1.byId("subMerName")).toString(); 在selenium里面也提供了执行js代码的方法: Object executeScript(String script, Object... ar
Selenium获取input输入框中值的三种方法
第一种用jQuery的val方法: js = "return $('input').val();" driver.execute_script(js) 第二种用jQuery的attr方法: js = "return $('input').attr('value');" driver.execute_script(js) 第三种用selenium自带的方法: driver.find_element_by_tag_name('input').get_attribute(
JSCover+WebDriver/Selenium获得JS 代码覆盖
我们看JSCover(http://tntim96.github.io/JSCover/manual/manual.xml)介绍及使用说明的时候,往往被图形界面所吸引.这样的方式比較适合手工操作,点击和输入就可以. 可是这样的往往界面和真实界面相差比較大,由于真正的网页在JSCover内部的浏览载入框中.这使得原有的Selenium代码可能存在诸多问题. 那么怎样可以尽量少地改变原有的selenium代码而又获取到js的code coverage呢?这可以採用文件模式(File Mode). 1
自动化测试基础篇--Selenium中JS处理浏览器弹窗
摘自https://www.cnblogs.com/sanzangTst/p/7692454.html 浏览器弹窗: 现在大多数网站都会使用自定义弹窗,使用Selenium自带的方法暂时处理不了,这时就需要js来处理浏览器弹窗问题 大家能看到,图中的这种弹窗就是现在主流的表现形式,处理这种弹窗可以利用HTML DOM Style 对象,有一个display属性,可以设置元素如何被显示,详细解释可以参考http://www.w3school.com.cn/jsref/prop_style_disp
自动化测试基础篇--Selenium中JS处理滚动条
摘自https://www.cnblogs.com/sanzangTst/p/7692285.html 前言 什么是JS? JS就是JavaScript: JavaScript 是世界上最流行的脚本语言: JavaScript 是属于 web 的语言,它适用于 PC.笔记本电脑.平板电脑和移动电话: JavaScript 被设计为向 HTML 页面增加交互性: 许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法.几乎每个人都有能力将小的 JavaScript 片
自动化测试-13.selenium执行JS处理滚动条
前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上. 滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本. 一.JavaScrip
JS输入框正则校验
1. 开发中需要对etl组件统一进行input输入框校验,允许为空,可以不校验,默认校验长度和特殊字符,代码如下,记录以备复用. /** * 数据值校验工具类 */ var checkService = { // 不校验 none: function () { return true; }, //非空校验 isEmpty:function (str) { if (str == null || str == "") return false; }, // 只能输入数字[0-9] isDi
python3 + selenium 使用 JS操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素 driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标 arguments[0].scrollInt
Python selenium的js扩展实现
python写的数据采集,对一般有规律的页面用 urllib2 + BeautifulSoup + 正则就可以搞定. 但是有些页面的内容是通过js生成,或者通过js跳转的,甚至js中还加入几道混淆机制:对这种涉及页面脚本解析的内容,前面的方式便很无力. 这时我们需要能解析.运行js的引擎——浏览器,而python selenium能提供程序与浏览器的交互接口,再加上phantomjs这个可以后台运行的浏览器,即使用 selenium + phantomjs 便可以解决以上的问题. seleniu
Selenium Webdriver——JS处理rich text(富文本框)
126邮件正文邮件的rich text 先让selenium切换到iframe中 driver.switchTo().frame(driver.findElement(By.className("APP-editor-iframe"))); 然后执行JS WebElement editor = driver.findElement(By.tagName("body")); JavascriptExecutor jsExecutor = (JavascriptExec
selenium webdriver——JS滚动到指定位置
1.DOM滚动方法 1.scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它,窗口会尽可能滚动到自身顶部与元素顶部平齐.-------目前各浏览器均支持 2.scrollIntoViewIfNeeded(alignCenter) 只在当前元素在视窗的可见范围内不可见的情况下,才滚动浏览器窗口或容器元素,最终让当前元素可见.如果当前元素在视窗中可见,这个方法不做任何处理.如果将
热门专题
vue 组织结构组件
json.stringify j兼容IE
测试json插件是否可用的接口
杭电ACM3006套数题解
AZURE分配磁盘吞吐量
虚拟机Oracle监听配置提示12514
vue使用render报错
进来多少用户IPIP命令
bing 壁纸api
公众号授权域名文件放HBuilder哪
nmcli 配置完双网卡绑定后重启丢失
tomcat文件 127可以访问 实际ip不能访问
HTML百分比控制高度无效
libiconv转GBK
datagridview行高自动调整
html gif暂停
apple 开发者账号是中文名
docker jenkins滚动发布
php laravel框架怎么构建
itsdangerous如何生成token