Selenium webdriver等待元素并单击

时间:2017-11-24 11:28:16

标签: selenium selenium-webdriver

InternetExplorerDriver  driver = new InternetExplorerDriver();

driver.get("http://www.wiki-doctor.com");
WebElement element = (new WebDriverWait(driver, 10))
               .until(ExpectedConditions.elementToBeClickable(By.id("btnSearch")));
element.click();

它等待显示元素btnSearch并点击它,但是,它没有'似乎做了什么,你知道为什么会这样吗?

由于

2 个答案:

答案 0 :(得分:1)

这会将美国添加为区域设置,然后等待显示医生的图片。

driver.get("http://www.wiki-doctor.com");
//Enter united states into field
driver.findElement(By.id("field-findDoctor-town")).sendKeys("United States");
WebElement element = (new WebDriverWait(driver, 10))
               .until(ExpectedConditions.elementToBeClickable(By.id("btnSearch")));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

WebDriverWait wait = new WebDriverWait(driver,10);
//Wait for picture of doctor
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#dvparcticianlist > div.row > div > div.listing-row > div.doc-photo-container")));
       System.out.println("Search Successful");
   }

答案 1 :(得分:-1)

WebDriverWait wait =new WebDriverWait(driver, 90);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("xpath")));     
driver.findElement(By.xpath("xpath")).click();