0

我正在测试一个 Web 应用程序,在该应用程序中我面临一个问题,即在 texbox 中输入一些文本后单击查找按钮时,页面刷新并且相同的默认页面显示在搜索结果的位置,因为它(查找按钮)正在调用 javascript 函数点击。

虽然我通过在输入后放置 Thread.sleep() 然后单击按钮找到了一个临时解决方案,但它没有反映搜索条件,但我必须刷新页面才能获得正确的搜索结果。

我想学习一种更好的方法来处理这种情况。

提前感谢您的帮助

4

1 回答 1

1

使用 Selenium 的 Wait 类等待元素出现。

红宝石:

Selenium::WebDriver::Wait.new {
    driver.find_element(:name, "q")
}

Java: 导入 org.openqa.selenium.By;导入 org.openqa.selenium.WebDriver;导入 org.openqa.selenium.support.ui.ExpectedConditions;导入 org.openqa.selenium.support.ui.Wait;导入 org.openqa.selenium.support.ui.WebDriverWait;

WebDriver driver = new FirefoxDriver();
...
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(
    ExpectedConditions.presenceOfElementLocated(By.id("search_btn"))
); 
于 2013-06-12T08:27:34.383 回答