Java 在SeleniumWebDriver中显示弹出窗口时如何防止背景滚动?
在selenium webdriver中显示弹出窗口时如何防止背景滚动? 场景: 打开一个弹出窗口,我必须对其执行一些操作/操作,但如果我立即单击弹出窗口中的字段,页面将在后台滚动,我的弹出窗口将向上滚动,并且对于任何交互,selenium都将不可见 期望值:Java 在SeleniumWebDriver中显示弹出窗口时如何防止背景滚动?,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,在selenium webdriver中显示弹出窗口时如何防止背景滚动? 场景: 打开一个弹出窗口,我必须对其执行一些操作/操作,但如果我立即单击弹出窗口中的字段,页面将在后台滚动,我的弹出窗口将向上滚动,并且对于任何交互,selenium都将不可见 期望值: 我按了一下按钮 此时会打开一个弹出窗口 我必须添加一些文本并选择一些值 然后关闭 但是我不能执行这些操作,因为背景会滚动,弹出窗口也会滚动到顶部 在文本框中输入任何文本之前,您可以使用JavascriptExecutor将字段滚动到视口中
在文本框中输入任何文本之前,您可以使用
JavascriptExecutor
将字段滚动到视口中
//After modal window is opened
WebElement txtBox = driver.findElement(By.css("input[type='text']")); //textBoxPresent in popup
txtBox.click(); //now the background will scroll to top.
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollIntoView(true)",txtBox); // this will scroll the textbox to the view port hence available for selenium to interact
txtBox.sendKeys("someText");
有两个选项可以处理此场景:-
overflow=hidden
,就可以使用JavascriptExecutor
异常
,您也可以使用JavascriptExecutor
我正在获取“org.openqa.selenium.WebDriverException:arguemts未定义”org.openqa.selenium.WebDriverException:arguments[0]。scrolIntoView不是函数,或者在打开任何弹出窗口时如何停止后台滚动?很好!!很高兴它起作用了。别忘了接受答案!!:)