java【selenium】使用Javascript将元素滚动到可见的位置

selenium是没有滚动指令的,不知道有没有出版本,可以执行javascripr命令,去操作滚动页面

import static org.junit.jupiter.api.Assertions.*;

import java.util.concurrent.TimeUnit;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import Test1.ChromeDriveDemo;
import usefulmethods.windowScrolling;

class JavaScriptWinodowRolling {
/*
* JavaScript命令将元素滚动
*/
WebDriver driver;
private JavascriptExecutor js;

@BeforeEach
void setUp() throws Exception {
	//本地驱动
	System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
	//谷歌浏览器
	driver =new ChromeDriver();
	//强转
	js=(JavascriptExecutor) driver;
	//设置隐性等待
	driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
	
	//窗口最大化
	driver.manage().window().maximize();
	
	
}

@Test
void test() throws Exception {
	//打开网址
	js.executeScript("window.location='https://p2p.migang.com/';");
	//等待
	Thread.sleep(3000);
	//向下滚动
	js.executeScript("window.scrollBy(0,1200)");
	Thread.sleep(2000);
	//向上滚动
	js.executeScript("window.scrollBy(0,-1200);");
	Thread.sleep(2000);
	//滚动到要操作的位置
	WebElement element =driver.findElement(By.xpath("//h2/a[contains(text(),'米缸优选')]"));
	js.executeScript("arguments[0].scrollIntoView(true);",element);
	Thread.sleep(2000);
	//向上滚动一点点
	js.executeScript("window.scrollBy(0,-190);");
	Thread.sleep(2000);
	
	
	
	
}
@AfterEach
void tearDown() throws Exception {
	//关闭浏览器
	driver.quit();
}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值