Selenium скрывает веб-элемент за панелью навигации - PullRequest
1 голос
/ 22 апреля 2019

У меня проблема с записью значения в элемент ввода. a busy cat Когда 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.

1 Ответ

0 голосов
/ 24 апреля 2019

Этот код решил мою проблему

Actions actions = new Actions(driver);
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(false); arguments[0].focus();", element);
actions.sendKeys(date).perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...