Веб-ловушка Selenium NoSuchElementError (Javascript) - PullRequest
0 голосов
/ 28 апреля 2020

Я экспериментирую с Selenium для Node.js, и столкнулся с небольшой проблемой. Я пытался перемещаться по странице входа в Твиттер, в частности, находя поля с логином и паролем и отправляя необходимые ключи.

Фрагмент кода:

let element = driver.findElement(By.xpath('//*[@class="sign-in btn btn-primary"]')).click();
let login = driver.findElement(By.xpath('//*[@name="session[username_or_email]"]'))
login.sendKeys("username");

HTML Фрагмент: . (https://twitter.com/login)

<input autocapitalize="none" autocomplete="on" autocorrect="off" name="session[username_or_email]" 
spellcheck="false" type="text" dir="auto" data-focusable="true" 
class="r-30o5oe r-1niwhzg r-17gur6a r-1yadl64 r-deolkf r-homxoj r-poiln3 r-7cikom r-1ny4l3l 
r-1inuy60 r-utggzx r-vmopo1 r-1w50u8q r-1lrr6ok r-1dz5y72 r-1ttztb7 r-13qz1uu" value="">

Однако я получаю ошибку : NoSuchElementError: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@name="session[username_or_email]"]"}

Любая помощь очень ценится!

РЕДАКТИРОВАТЬ Я пытался дождаться загрузки страницы, используя это:

driver.wait(function () {
      return driver.findElement(By.xpath("//*[@name ='session[username_or_email]']"));
  }, 10000);

Однако я все еще получаю сообщение об ошибке, что 'session [username_or_email]' не может быть найденным

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