我在将值写入输入元素时遇到问题。 当Selenium吸引到此输入字段时,页面滚动到顶部,而输入隐藏在导航栏的后面。
在上诉之前,我执行以下代码:
int elementPosition = element.getLocation().getY();
String js = String.format("window.scroll(0, %s)", elementPosition-90);
((JavascriptExecutor)driver).executeScript(js);
但是即使在滚动之后,输入仍然是隐藏的。
此外,我尝试通过JavaScript对此字段设置值:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute('value', '"+date+"')",element);
不幸的是,这也无济于事。
环境:Selenium 3.6.0 ver,FireFox 66 ver。
答案 0 :(得分:0)
此代码解决了我的问题
Actions actions = new Actions(driver);
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false); arguments[0].focus();", element);
actions.sendKeys(date).perform();