Is there anyway to capture/record Light Box (Ajax) using
Selenium IDE
?
not for sure wheter Selenium IDE capture/record Light Box (Ajax) in the form you expect from it. See
Selenium IDE is able to capture the fact of the click which causes LightBox appear. But it is difficult to register the time you need to get all the AJAX from server. Being QA selenium automation(writing on java) I'd prefer a lil bit another approach. you can use webDriverWait conditions:
WebDriverWait wait = new WebDriverWait(yourWebDriver, 5);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//xpath_to_element")));
as described here
Or you can invoke fluentWait
mechanism:
public WebElement fluentWait(final By locator){
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(5, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
WebElement foo = wait.until(
new Function<WebDriver, WebElement>() {
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
}
);
return foo; } ;
this fluent wait method returns you found webElement which you can operate on. usage:
String xPathElement ="...blablab.....";
WebElement found = fluentWait(By.xpath(xPathElement));
found.click();
//found.getText().trim():
hope this helps you