1

Java と Firefox と Firebug を使用していますが、2 ページ目の要素を見つけることができません。たとえば、gmail にログインすると、送信済みアイテムや次のページのその他のボタンを見つけてクリックすることができません。

xpath (絶対パスと相対パスの両方) を試してみましたが、要素が見つからないというエラーが毎回発生します。コードを使用すると正常にログインできますが、ページが読み込まれるとすぐに「要素が見つかりません」というエラーが表示されます。

解決策を提案してください

4

2 に答える 2

1

2 番目のページの要素が読み込まれるまで待機するように WebDriver に指示しない限り、WebDriver は実行可能になるとすぐに要素をクリックしようとします。WebDriver が既に要素をクリックしようとしているときに、要素がまだ読み込まれていない可能性があるため、これは悪いことです... タイムアウトの騒乱が続きます...

次のことを試してください... WebDriverWait クラスを使用して、WebDriver がページ上の要素が読み込まれるのを待ってからクリックしようとします...:

WebDriverWait wait = new WebDriverWait(driver, 100);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("your xpath")));
element.click();

WebDriverWait(driver, 100) の '100' は、WebDriver がタイムアウトになる前に要素の検索を繰り返し試行する最大秒数です...

于 2013-10-09T19:32:56.827 に答える