我的问题是水平滚动滚动条在窗口内我使用了这个代码,但它滚动窗口水平条而不是那个窗口内的滚动条.
WebElement scroll = driver.findElement(By.xpath("//div[@id='gvLocationHorizontalRail']"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("window.scrollBy(250,0)", "");
Run Code Online (Sandbox Code Playgroud)
Fer*_*big 10
您正在使用滚动主窗口的javascript,如果要滚动元素,则应首先按id获取元素,然后更改其scrollLeft属性:
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript(
"document.getElementById('gvLocationHorizontalRail').scrollLeft += 250", "");
Run Code Online (Sandbox Code Playgroud)
如果您想要更改上下移动的滚动条,则应更改scrollTop属性.
In addition to answer by Ferrybig, can you try this:
WebElement scroll = driver.findElement(By.xpath("//div[@id='gvLocationHorizontalRail']"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript(
driver.execute_script("arguments[0].scrollIntoView()", scroll);
Run Code Online (Sandbox Code Playgroud)
小智 5
使用以下内容:
WebElement problematicElement= driver.findElement(By.xpath("//div[@id='blah']"));
(JavascriptExecutor)driver.executeScript("arguments[0].scrollIntoView()", problematicElement);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29160 次 |
| 最近记录: |