Проблема с выбором ячейки TD с Selenium через JavaScript - PullRequest
0 голосов
/ 12 декабря 2018

enter image description here

Это HTML, мне нужно выбрать TextField, который выбран (вводid = "login" name = "j_username" ......) Теперь это мой JS-файл

var webdriver = require ('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;

var driver = new webdriver.Builder().forBrowser('chrome').build();

driver.get('https://student.tuke.sk/student/home.mais;jsessionid=18C8A365CEB230018870BF5F6884F3F9');
driver.findElement(By.xpath('//*[@id="login"]/input')).click();
driver.sleep(1500);
driver.findElement(By.xpath('/body/table/tbody/tr/td/div/div/form/div/table/tbody/tr/td/input[@id="login"]'))
.sendKeys('rk096jv');

Я просто не могу выбрать его правильно, он всегда говорит мне, что NoSuchElementError не может найтиэлемент.Есть ли способ выбрать поле и записать туда мои учетные данные?Спасибо

1 Ответ

0 голосов
/ 12 декабря 2018

Без полного HTML трудно сказать, почему ваш локатор не работает.Я предполагаю, что где-то на этих 15-ти уровнях DOM в вашем локаторе есть проблема.Вот почему, как правило, таких локаторов следует избегать.Я хотел бы сделать что-то более простое, как этот селектор CSS

#loginForm #login

Убедитесь, что вы добавили правильное ожидание (ожидание видимого) вместо sleep().

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