我正在处理不包含少量文本框的id属性的应用程序。其他txtbox有id。如果我不使用焦点事件我'我无法使用'sendKeys'来设置文本框的值。 因此我用了
js.executeScript ("document.getElementById('x').focus()");
但由于某些文本框没有id属性,因此无法使用上述内容,因此尝试使用
js.executeScript ("document.getElementByName('xyz').focus()");
生成以下异常消息msg:
org.openqa.selenium.WebDriverException: document.getElementByName is not a function (WARNING: The server did not provide any stacktrace information); duration or timeout: 26 milliseconds
答案 0 :(得分:1)
我不相信有getElementByName
。你需要做getElementsByName
(注意元素的's'。
getElementsByName
返回一个集合,因此您需要指定索引:
js.executeScript ("document.getElementsByName('xyz')[0].focus()");
答案 1 :(得分:1)
您可以尝试点击元素来设置焦点。
driver.findElement(By.name("someName")).click();