1

いくつかのテキスト ボックスの id 属性を含まないアプリケーションで作業しています。他のテキスト ボックスには 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
4

2 に答える 2

1

私はあるとは思わないgetElementByName。する必要がありますgetElementsByName(要素の「s」に注意してください)。

getElementsByNameコレクションを返すため、インデックスを指定する必要があります。

js.executeScript ("document.getElementsByName('xyz')[0].focus()");
于 2012-05-16T13:42:59.093 に答える
1

要素をクリックしてフォーカスを設定してみてください。

driver.findElement(By.name("someName")).click();
于 2012-05-16T16:58:26.510 に答える