【转】selenium技巧 - 通过js来控制滚动条,通过xpath定位最上层的div层
http://blog.csdn.net/iceryan/article/details/8162703


- package com.example.tests;
- import org.junit.*;
- import org.openqa.selenium.*;
- import org.openqa.selenium.ie.InternetExplorerDriver;
- public class SeleniumWebDriver {
- public static WebDriver driver;
- @Test
- public void testUnit() {
- driver = new InternetExplorerDriver();
- driver.get("http://nanjing.xiaomishu.com/shop/search/sp2048_745");
- maxBrowser(driver);
- setScroll(driver,500);
- driver.findElement(By.linkText("投诉与建议")).click();
- driver.findElement(By.xpath("//input[@id='repName']")).sendKeys("1");
- driver.findElement(By.xpath("//input[@id='repMail']")).sendKeys("1");
- driver.findElement(By.xpath("//textarea[@id='repContent']")).sendKeys("hello");
- driver.findElement(By.xpath("//a[@id='repBtn']")).click();
- Assert.assertEquals("您输入的邮箱格式不正确", driver.findElement(By.xpath("//div[@id='floatBox_remind']/span")).getText());
- }
- //将IE最大化
- public static void maxBrowser(WebDriver driver){
- try {
- String maxBroswer = "if (window.screen) {window.moveTo(0, 0);" +
- "window.resizeTo(window.screen.availWidth,window.screen.availHeight);}";
- JavascriptExecutor jse=(JavascriptExecutor) driver;
- jse.executeScript(maxBroswer);
- } catch (Exception e) {
- System.out.println("Fail to Maximization browser");
- }
- }
- //将滚动条滚到适合的位置
- public static void setScroll(WebDriver driver,int height){
- try {
- String setscroll = "document.documentElement.scrollTop=" + height;
- JavascriptExecutor jse=(JavascriptExecutor) driver;
- jse.executeScript(setscroll);
- } catch (Exception e) {
- System.out.println("Fail to set the scroll.");
- }
- }
- }
【转】selenium技巧 - 通过js来控制滚动条,通过xpath定位最上层的div层的更多相关文章
- selenium执行JavaScript语句:控制滚动条 聚焦元素 改变下拉选项
1. 执行js脚本 控制滚动条 # http://www.cnblogs.com/yoyoketang/p/6128655.html In [347]: js = "window.scrol ...
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
- Python selenium webdriver设置js操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...
- 2018年 js 简易控制滚动条滚动的简单方法
首先是es2015 的新api Element.scrollIntoView() // 滚动到最上方 等同于 dom.scrollIntoView(true) Element.scrollIntoVi ...
- Java&Selenium控制滚动条方法封装
Java&Selenium控制滚动条方法封装 package util; import org.openqa.selenium.JavascriptExecutor; import org.o ...
- 【python+selenium的web自动化】- 控制浏览器的常用操作
如果想从头学起selenium,可以去看看这个系列的文章哦! https://www.cnblogs.com/miki-peng/category/1942527.html 前言 本文主要介绍se ...
- Selenium(十三)调用js,控制浏览器的滚动条
WebDiver 不能操作本地 Windows 控件,但对于浏览器上的控件也不是都可以操作的.比如浏览器的滚动条,虽然 WebDriver 提供操作浏览器的前进和后退按钮,但对于滚动条并没有提供相应用 ...
- 使用selenium控制滚动条(非整屏body)
方法原理: (1)使用jQuery CSS 操作 - scrollTop() 方法,设置 <div> 元素中滚动条的垂直偏移,语法:$(selector).scrollTop(of ...
- selenium自动化之js处理滚动条和元素聚焦
selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 当我们页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接操作的,会报元素不可见异常的.这时候需要借助滚动 ...
随机推荐
- sql语句中,传入的参数带单引号的问题
今天在大批量操作数据时,遇到此问题,解决如下: if(cateName.indexOf("'")!=-1){ oql = " select * where name = ...
- centos7 bond双网卡
[root@pay network-scripts]# cat ifcfg-bond0 |grep -v \#TYPE="Ethernet"PROXY_METHOD="n ...
- 099、Java中String类之字符数组与字符串的转换
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 0. GC 前置知识
阅读<垃圾回收的算法与实现>时记录的一些笔记. 对象 在GC的世界中,对象表示的是"通过应用程序利用的数据的集合" 头 我们将对象中保存对象本身信息的部分称为头.头主要 ...
- 1-8SpringBoot之切面AOP
SpringBoot提供了强大AOP支持,我们前面讲解过AOP面向切面,所以这里具体AOP原理就补具体介绍: AOP切面主要是切方法,我们一般搞一些日志分析和事务操作,要用到切面,类似拦截器: @As ...
- gitlab实现webhook触发jenkins 自动,构建,测试,push webhook构子 总结
最新一直在学习 工作 + 学习 去掉 90% 所以blog 一直没更 真是很不好! exsi ceph gitlab jenkins harbor k8s docker-compose ap ...
- Windows 与 Linux 、esxi下面查看内存容量和数量
1. Windows 查看内存信息: > wmic MEMORYCHIP get BankLabel,DeviceLocator,Capacity,Speed 2. Linux 查看内存信息: ...
- vue :style 动态绑定style
<div class="right userPicture" :style="[{'background':`url(${userImg}) no-repeat c ...
- pandas包 —— drop()、sort_values()、drop_duplicates()
一.drop() 函数 当你要删除某一行或者某一列时,用drop函数,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据. 1.命令: df.drop() 删除行:df.d ...
- es678910语法糖
傲娇: 新es是js的进步,是编程的进步,es6已经过去了5年了,兼容率达到了90%,还是有10%的手机不兼容,那到底应不应该去照顾那些跟不上的人,我觉得是不应该的,新es能5行写出来的功能,我为什么 ...