我是Selenium
的新手。
我的问题是,我试图单击一个元素,但Selenium
抛出了一个timeout exception
,即使我增加了超时值。
我是否需要使用xpath
而不是id
?
HTML代码为:
我的代码如下所示
void searchquotation() throws TimeoutException {
try {
WebDriverWait wait = new WebDriverWait(driver, 15);
WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.name("SearchButton")));
element.click();
}
catch(TimeoutException e) {
System.out.println("Timeout occured");
}
我做错什么了吗?
3条答案
按热度按时间qnakjoqk1#
这里的输入类型是submit(通过查看HTML代码),所以我强烈建议尝试Selenium的submit()函数。
fdbelqdn2#
您应该使用
By.id
而不是By.name
。因此,请使用以下任一项:By.Id("SearchButton")
By.CssSelector("input#SearchButton")
By.Xpath("//input[@id='SearchButton']")
注意:语法可能有误,请根据您的编程语言进行调整
xesrikrc3#