gpt4 book ai didi

javascript - 使用 JavaScript 使用 Selenium 滚动到网页上的元素

转载 作者:行者123 更新时间:2023-12-03 08:53:52 24 4
gpt4 key购买 nike

我正在 JavaScript 中创建一些 Selenium 测试。我无法点击不在 View 中的按钮(这似乎是 chrome 驱动程序的问题)。此问题的解决方法很简单 scrolling to the element ,但是显示的示例是 Java 语言,而不是 JavaScript。基于java的解决方案我尝试了以下但没有成功:

    var element = driver.findElement(webdriver.By.id('next_button'));
var location = element.getLocation();
var window = new webdriver.Window(driver);
window.scrollBy(location);

我认为我在这里使用的窗口对象类型不正确。如何使用 JavaScript 向下滚动到该元素?

最佳答案

getLocation() 函数以对象的形式返回位置。此外,window.scrollBy() 是一个 DOM javascript 函数,因此您可能无法在不执行它的情况下在 selenium 中使用它。另外,window.scrollBy() 会滚​​动 DOM 中特定数量的像素,而应使用 window.scrollTo() 滚动到特定位置。以下是您可以做到的方法 -

driver.wait(function(){
driver.findElement(By.id('next_button'), function(ele){
ele.getLocation().then(function(loc){
driver.executeScript('return window.scrollTo('+loc.x+','+loc.y+');')
.then(function(){
ele.click();
});
});
});
},10000);

希望这有帮助。

关于javascript - 使用 JavaScript 使用 Selenium 滚动到网页上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32585881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com