При использовании scrollIntoView (вверху) текст скрыт внутри фиксированного div в Selenium Webdriver - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь щелкнуть текст ссылки, который не отображается на экране. Поэтому я использовал javascript scrollIntoView (top), чтобы сделать текст видимым, но текст перемещается вверх экрана, скрывая внутри заголовка фиксированный div. Поэтому я не могу нажать на эту ссылку. Может кто-нибудь, пожалуйста, помогите мне решить эту проблему

 JavascriptExecutor js = (JavascriptExecutor) driver;
                js.executeScript("arguments[0].scrollIntoView(top);", Loadmoreweb);

1 Ответ

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

В настоящее время вы используете top, что не является допустимым вводом. Если вы посмотрите на документы , есть несколько вариантов.

  1. Если вы передадите true, элемент будет выровнен по верху страницы (что не похоже на то, что вы хотите). Передача false выравнивает элемент в нижней части страницы, что может или не может быть жизнеспособным. Так что один вариант -

    arguments[0].scrollIntoView(false);
    
  2. Вы можете передать объект с тремя настройками. Единственное, что вас интересует - это вертикальное выравнивание. Свойство block контролирует это. Существует настройка для block из "center", которая, кажется, соответствует вашим ожиданиям.

    arguments[0].scrollIntoView({block: "center"});
    

Существуют и другие варианты, описанные в документах, которые я указывал выше Обязательно прочитайте их и посмотрите, какой из них соответствует вашему конкретному сценарию, но этого должно быть достаточно, чтобы начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...