0

値を送信するためにページ内のテキストボックスを見つけようとしましたが、WebDriverがそれを見つけることができません。id、name、xpathを使用して検索しようとしましたが、どれも機能しませんでした

ここにコードの抜粋があります

<dl class="user-info-fields">
  <dd>
    <input id="user_cpf" type="text" size="30" name="user[cpf]">
  </dd>
</dl>

DLタグで見つけようとした情報はたくさんありますが、WebDriverはそれを見つけられません。

DLの下の要素を処理するためのWebDriverAPIにはいくつかの制限がありますか、それとも何か間違っていますか?

4

1 に答える 1

0

コードを提供していないため、既に何を試したかわかりません。しかし、IDで見つけようとしましたか?

C# では、これは次のようになります。

IWebElement element = webDriver.FindElement(By.Id("user_cpf"));  

同様に、ページがまだロードされていない場合、上記のメソッドが失敗する可能性もあります。WebDriver には、待機を提供するためのメソッドが多数組み込まれています ( http://seleniumhq.org/docs/04_webdriver_advanced.jsp )。

これをテストする最も簡単な方法は、要素を見つけようとする直前に単純な Thread.Sleep(5000)* を実行することです。

*製品コードでは、ハードコーディングされた待機をできるだけ避けるようにしてください。

于 2013-01-11T20:16:59.657 に答える