0

Selenium を使用して、ajax や jquery を使用して読み込まれたページで webElement を見つけようとしています。

何をしても、要素が見つからないようです。

私は Firefox 20 と Selenium 2.31.0 を使用しています。

取得しようとしているセクションには、次のような html があります (firefox のインスペクター ツールを使用してこれを取得しました)。

 <form id="file_upload" method="post" enctype="multipart/form-data" action="myAction.php">
    <table class="table table-striped">
      <tbody>
        <tr>
          <td>
            <input class="input-file" type="file" name="file"></input>
            <input class="btn btn-primary" type="submit" value="upload"></input>
          </td>
          <td style="text-align:right;"></td>
        </tr>
      </tbody>
    </table>
  </form>

私が試してみました:

WebDriverWait driverWait = new WebDriverWait(driver, 10000);

WebElement dynamicElement =  driverWait.until(ExpectedConditions.presenceOfElementLocated(By.id("file_upload")));

System.out.println(dynamicElement.getText());

そして私は試しました:

WebElement dynamicElement = new FluentWait<WebDriver>(driver).withTimeout(1,  TimeUnit.MINUTES).pollingEvery(1, TimeUnit.SECONDS)
    .ignoring(NoSuchElementException.class).until(ExpectedConditions.visibilityOfElementLocated(By.id("file_upload")));

System.out.println(dynamicElement.getText());

しかし、私が何をしようとしても、それが見つからないか、その要素を見つけるのにどれだけ時間をかけてもタイムアウトします。どんな助けでも大歓迎です。ありがとうございました。

4

2 に答える 2

0

Selenium をアップグレードしてみてください。それが唯一の問題かどうかはわかりませんが、FF 20 はSelenium 2.32.0でサポートされています。

Selenium の歴史- ページの下部にある注は、FF 20 のサポートを示しています。

于 2013-04-16T18:20:20.067 に答える