私のHTML
<form id="load_form" class="ajaxsubmit" method="post" action="ajax.php">
<input type="hidden" value="register" name="action">
<h3>Registration Form</h3>
<img id="loader" width="20" height="20" style="display:none;" src="images/loader.gif">
<p id="alert"></p>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<fieldset>
<label>Username:</label>
<input type="text" required="" name="username">
</fieldset>
私のJavaコード
WebDriverWait wait = new WebDriverWait(driver,30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='username']")));
element.sendKeys("john");
エラー以下になる
スレッド「メイン」での例外org.openqa.Selenium.TimeoutException:By.xpathによって配置された要素の可視性を待機して30秒後にタイムアウト:// input [@ name = 'username']ビルド情報:バージョン: '2.53.0 '、リビジョン:' 35ae25b '、時間:' 2016-03-15 17:01:03 '
何か助けは?待機時間を増やしてすでに試しましたが、うまくいきません
実際には あり 同じ名前input
の2つのusername
要素が存在し、1つは非表示でもう1つは表示され、最初の1つは表示されません。ページが見つからない理由は、以下のようにcssSelector
を使用してみてください:-
WebDriverWait wait = new WebDriverWait(driver,30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div#load_box input[name = 'username']")));
element.sendKeys("john");