Webdriver 焦点事件 : js.executeScript ( "document.getElementByName().focus()" );



我正在开发一个不包含几个文本框的 id 属性的应用程序。如果我不使用焦点事件,则无法使用"sendKeys"来设置文本框的值。因此我用了

js.executeScript ("document.getElementById('x').focus()"); 

但是由于某些文本框没有id属性,因此我无法使用上述属性,因此尝试使用

js.executeScript ("document.getElementByName('xyz').focus()");

执行以下异常消息时会生成:

org.openqa.selenium.WebDriverException: document.getElementByName is not a function (WARNING: The server did not provide any stacktrace information); duration or timeout: 26 milliseconds

我不相信有getElementByName.您需要执行getElementsByName(请注意元素的"s")。

getElementsByName返回一个集合,因此您需要指定索引:

js.executeScript ("document.getElementsByName('xyz')[0].focus()");

您可以尝试单击元素来设置焦点。

driver.findElement(By.name("someName")).click();

相关内容

  • 没有找到相关文章

最新更新