在selenium web驱动程序中如何编写等待下拉等待然后单击按钮

时间:2014-02-24 12:13:47

标签: java selenium

在我的应用程序中打开页面时,会显示一个下拉列表,然后我需要单击“继续”按钮。问题是下拉需要一些时间来加载值,但在我的代码中,它在下拉加载之前单击。我尝试使用隐式wait和thread.sleep但它有时候它工作,有些时候不起作用。 代码:

public class Home {


   public static void main(String[] args) throws IOException, InterruptedException 
   {
      File file1 = new File("C:\\Selenium\\IEDriverServer_Win32_2.35.3\\IEDriverServer.exe");     System.setProperty("webdriver.ie.driver", file1.getAbsolutePath());

     WebDriver driver = new InternetExplorerDriver();
      driver.get("http://10.120.13.100/");

    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);

   Thread.sleep(3000);

    WebElement clickBtn = driver.findElement(By.id("btnHomeProceed"));
    clickBtn.click(); 

2 个答案:

答案 0 :(得分:0)

使用.until(ExpectedConditions.presenceOfElementLocated(By.id("btnHomeProceed")));

答案 1 :(得分:0)

new WebDriverWait(driver,30).until(ExpectedConditions.visibilityOfElementLocated(By.xpath(“ur xpath”)))。click();