java刷新复选框,Selenium 2
我需要选中一个复选框,在输入字段中键入值
选中该复选框时,该字段将显示。所以我试着:
WebElement box = driver.findElement(By.id("Checkbox_input"));
box.click();
sleep(5);
// the input can't be detected
// so it throw a noSuchElement.
WebElement input = driver.findElement(By.id("PaymentAmount_input"));
input.sendKeys("12345");
我已经使用了isSelected()(就在click()
之后)来验证它是否被选中
Assert.assertTrue(box.isSelected());
我发现了一些奇怪的东西。。我写在ePrepayment.click()
之后
box.submit();
它之所以有效,是因为submit()
看起来像一个刷新,所以我的输入会出现,但它不会删除其他输入中的所有值
规格
sleep()
方法
protected void sleep(int i) {
driver.manage().timeouts().implicitlyWait(i, TimeUnit.SECONDS);
}
问题:
有没有更好的方法来代替复选框上的讨厌的submit()
呢
谢谢你,马可
# 1 楼答案
如果可能,共享您的元素HTML。可能有类似于
onsubmit
显示输入字段而不是onclick
事件的内容# 2 楼答案
您的
sleep()
方法并没有意义,因为这是对隐式等待的错误使用。更正确的方法是使用显式等待:假设
wait
已在以下位置正确启动: