[英]How to scroll down of specific div to locate an element and make it clickable via selenium webdriver in java
I need to click on a button 'NEW'.
我需要单击“新建”按钮。 The element button is visible on DOM but it's not clickable because it's overlapped and i need to scroll down left side of the page to make it clickable.
元素按钮在DOM上可见,但不可单击,因为它是重叠的,我需要向下滚动页面左侧以使其可单击。 I was trying inject some javascript but it didn't help in my case:
我正在尝试注入一些JavaScript,但对我的情况没有帮助:
JavascriptExecutor js = ((JavascriptExecutor) driver);
js.executeScript("scroll(" + driver.findElement(By.xpath(//div[@class = 'save-new'])).getLocation().getX() + "," + driver.findElement(By.xpath(//div[@class = 'save-new'])).getLocation().getY() + ")");
Try: 尝试:
targetElement = driver.findElement(By.xpath("your xpath"));
JavascriptExecutor js = ((JavascriptExecutor) driver);
// This:
js.executeScript("arguments[0].scrollIntoView(true);", targetElement);
targetElement.click();
// Or maybe even just:
js.executeScript("arguments[0].click();", targetElement);
As i feel @damian should worked but you can also tried my code I used it so mny times 因为我觉得@damian应该可以工作,但您也可以尝试我的代码,所以我曾多次使用它
Use this code: 使用此代码:
WebElement element = driver.findElement(By.xpath("Value"));
((JavascriptExecutor)driver).executeScript(“arguments[0].scrollIntoView();”, element);
element.click();
You can try this way:-- 您可以这样尝试:-
JavascriptExecutor js = ((JavascriptExecutor) driver);
//Scroll your page to down using below code
((JavascriptExecutor)driver).executeScript(“window.scroll(100,2000)”);
// click on button
driver.findElement(By.xpath(//div[@class ='save-new'])).click()
Hope this help you :) 希望这对您有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.