如何用java解决selenium webdriver中的超时错误?

Ab1*_*123 5 java selenium timeoutexception

我的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>
Run Code Online (Sandbox Code Playgroud)

我的Java代码

WebDriverWait wait = new WebDriverWait(driver,30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//input[@name='username']")));
element.sendKeys("john");
Run Code Online (Sandbox Code Playgroud)

低于错误

线程"main"中的异常org.openqa.selenium.TimeoutException:30秒后超时,等待By.xpath定位元素的可见性://输入[@ name ='username']构建信息:版本:'2.53.0 ',修订版:'35ae25b',时间:'2016-03-15 17:01:03'

任何帮助?我已经尝试过增加等待但不起作用

Sau*_*aur 2

实际上,存在两个input具有相同名称的元素username,其中一个是隐藏的,另一个是可见的,并且您正在吸引第一个在页面上不可见的元素,这就是您无法找到的原因,请尝试使用cssSelector如下:-

WebDriverWait wait = new WebDriverWait(driver,30);

WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div#load_box input[name = 'username']")));
element.sendKeys("john");
Run Code Online (Sandbox Code Playgroud)