我正在测试一个 Web 应用程序,在该应用程序中我面临一个问题,即在 texbox 中输入一些文本后单击查找按钮时,页面刷新并且相同的默认页面显示在搜索结果的位置,因为它(查找按钮)正在调用 javascript 函数点击。
虽然我通过在输入后放置 Thread.sleep() 然后单击按钮找到了一个临时解决方案,但它没有反映搜索条件,但我必须刷新页面才能获得正确的搜索结果。
我想学习一种更好的方法来处理这种情况。
提前感谢您的帮助
我正在测试一个 Web 应用程序,在该应用程序中我面临一个问题,即在 texbox 中输入一些文本后单击查找按钮时,页面刷新并且相同的默认页面显示在搜索结果的位置,因为它(查找按钮)正在调用 javascript 函数点击。
虽然我通过在输入后放置 Thread.sleep() 然后单击按钮找到了一个临时解决方案,但它没有反映搜索条件,但我必须刷新页面才能获得正确的搜索结果。
我想学习一种更好的方法来处理这种情况。
提前感谢您的帮助
使用 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"))
);