selenium webdriver——JS滚动到最底部
JS控制滚动条的位置:
window.scrollTo(x,y);
竖向滚动条置顶 window.scrollTo(0,0);
竖向滚动条置底 window.scrollTo(0,document.body.scrollHeight)
JS控制TextArea滚动条自动滚动到最下部
document.getElementById('textarea').scrollTop = document.getElementById('textarea').scrollHeight
例子:
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.TimeoutException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert; /**
* @author Hjianhui
* JavaScript.java 2016-08-01
*
*/
public class testScroll{ public static void main(String[] args) {
// TODO Auto-generated method stub
//利用webdriver键入搜索关键字
WebDriver driver = new FirefoxDriver();
try{
driver.get("http://www.baidu.com"); JavascriptExecutor driver_js= (JavascriptExecutor) driver;
//利用js代码键入搜索关键字
driver_js.executeScript("document.getElementById(\"kw\").value=\"yeetrack\""); driver.findElement(By.id("su")).click(); //等待元素页面加载
waitForElementToLoad(driver, 10, By.xpath(".//*[@id='1']/h3/a[1]")); //将页面滚动条拖到底部
driver_js.executeScript("window.scrollTo(0,document.body.scrollHeight)"); //#将页面滚动条拖到顶部
driver_js.executeScript("window.scrollTo(0,0)"); }catch (Exception e){
e.printStackTrace();
}
driver.quit();
} /**
* 在给定的时间内去查找元素,如果没找到则超时,抛出异常
* */
public static void waitForElementToLoad(WebDriver driver, int timeOut, final By By) {
try {
(new WebDriverWait(driver, timeOut)).until(new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver driver) {
WebElement element = driver.findElement(By);
return element.isDisplayed();
}
});
} catch (TimeoutException e) {
Assert.fail("超时!! " + timeOut + " 秒之后还没找到元素 [" + By + "]"); }
}
}
waitForElementToLoad()函数是为了保证页面元素已加载完成,以便执行JS代码
Python代码
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.execute_script("document.getElementById(\"kw\").value=\"selenium\"")
WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_xpath(".//*[@id='container']/div[2]/div/div[2]"))
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
driver.quit()
selenium webdriver——JS滚动到最底部的更多相关文章
- selenium webdriver——JS滚动到指定位置
1.DOM滚动方法 1.scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它, ...
- Selenium Webdriver——JS处理rich text(富文本框)
126邮件正文邮件的rich text 先让selenium切换到iframe中 driver.switchTo().frame(driver.findElement(By.className(&qu ...
- selenium webdriver——JS对Input执行输入
直接设置value属性, 此方法主要应对输入框自动补全以及readonly属性的element,sendkeys不稳定 比如: Demo:用JS输入 import org.openqa.seleniu ...
- selenium webdriver——JS操作日历控件
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如 但是,有的日期控件是readonly的 比如12 ...
- js滚动到顶部底部代码
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>SCROLL</t ...
- selenium webdriver 屏幕滚动
//山寨法 String setscroll = "document.documentElement.scrollTop=100"; JavascriptExecutor jse= ...
- Python selenium webdriver设置js操作页面滚动条
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id ...
- selenium,webdriver 执行js语句 对象是百度
代码要多敲 注释要清晰 最后的两种方法,没有实现我想要的结果 有知道的朋友,给我留言吧 #执行js语句 from selenium import webdriver import time #生成浏览 ...
- java selenium webdriver处理JS操作窗口滚动条
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.open ...
随机推荐
- UVA-11082 Matrix Decompressing (网络流建模)
题目大意:给出一个由1到20组成的整数矩阵的每一行和每一列的和,构造这个矩阵.输出任意一个构造方案. 题目分析:将每一行视作一个点x,将每一列视作一个点y.对于矩阵中的每一个格子,都对应一个二元关系& ...
- hdu——过山车(二分图,匈牙利算法)
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- @Primary和@Qualifier这两个注解的意思(一句话概括)(二十七)
@Primary和@Qualifier这两个注解的意思: @Primary: 意思是在众多相同的bean中,优先使用用@Primary注解的bean. @Qualifier : 这个注解则指定某个b ...
- bzoj3862
题解: 这一道题目和模板有不同的地方就是在于可以修改只有一条边和i相邻 于是我们还要记录与这个点相邻的点有没有改变 代码: #pragma GCC optimize(2) #include<bi ...
- 关于MSSQL中IS NULL和IS NOT NULL的问题
在SQL语句中我们一般会避免写IS NULL和IS NOT NULL,因为这样优化器不会使用索引. 但经过一系列测试发现这句话并不完全对,因为有时候也会使用索引. 语句: select * from ...
- 回首C语言关键字(~回首向来萧瑟处~)
开篇废话: 本文意在回顾 C 语言中的关键字,整理文件发现当时做的这些笔记还是蛮用心的,有临摹 前辈的足迹也有自己的理解和体会.时至今日2018已经跨过一半,对不起过去半年,今天 拿这篇关键字开篇,开 ...
- tensorflow :ckpt模型转换为pytorch : hdf5模型
参考链接:https://github.com/bermanmaxim/jaccardSegment/blob/master/ckpt_to_dd.py import tensorflow as tf ...
- Jmeter-Interleave Controller(交替控制器)
名称: 注释: ignore sub-controller blocks: If checked, the interleave controller will treat sub-controlle ...
- UVA11019 Matrix Matcher【hash傻逼题】【AC自动机好题】
LINK1 LINK2 题目大意 让你在一个大小为\(n*m\)的矩阵中找大小是\(x*y\)的矩阵的出现次数 思路1:Hash hash思路及其傻逼 你把一维情况扩展一下 一维是一个bas,那你二维 ...
- Android自动化测试-UiAutomator2环境搭建
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...