Selenium-webdriver не может найти элемент, используя селектор CSS - PullRequest
0 голосов
/ 17 апреля 2020

Я использовал selenium-webdriver js. Я попытался ввести значение в поле. test. js:

async () => {
  let driver = await new webdriver.Builder().forBrowser("chrome").build();
  try {
    await driver.get("http://test.com");
     await driver.findElement(By.id('user')).sendKeys("test", Key.RETURN);
  }catch (e) {    
     console.log(e);
  } finally {
     await driver.quit();
  }
}

Но консоль выдает ошибку:

NoSuchElementError: no such element: Unable to locate element: {"method":"css selector","selector":"*[id="user"]"}
(Session info: chrome=80.0.3987.163)

Я не понимаю, почему эта ошибка появляется. Поскольку нужное поле выглядит так:

<input placeholder="User Name" type="text" id="user" class="input" value=""> 

Что я могу сделать с этой проблемой?

1 Ответ

0 голосов
/ 17 апреля 2020

Вы можете использовать wait для ожидания до , когда ваш элемент находится на странице.

 await driver.get("http://test.com");

 // add the following line to wait for the element to be present on the page
 await driver.wait(until.elementLocated(By.id('user')));

 await driver.findElement(By.id('user')).sendKeys("test", Key.RETURN);       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...