通过JavaScript使用硒选择TD单元格的问题

时间:2018-12-11 21:05:18

标签: javascript selenium xpath

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 :(得分:0)

没有完整的HTML,很难说出定位器为什么不起作用。我的猜测是定位器中DOM的15ish级别中的某个地方存在问题。这就是为什么应该避免使用如此深的定位器的原因。我会做一些更简单的事情,例如这个CSS选择器

#loginForm #login

确保添加适当的等待(等待可见),而不是sleep()