Hi Lahiru, I have faced the similar issue and I noticed that some times the dynamically loaded elements are not loading when we are using wait.until() without a driver refresh() So I used a similar code snipped like this:
WebDriverWait tempWait = new WebDriverWait(driver, 5); //5 is the waiting time in seconds for (int i = 0; i < 2; i++) { try { tempWait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector( "a[href*='/store/assets/webapp/" + appId + "']"))); driver.navigate().refresh(); break; } catch (org.openqa.selenium.TimeoutException e) { //Expected error when no element found } } Here i'm trying two times and waiting a fair time to load the element. On Tue, Feb 9, 2016 at 3:34 PM, Lahiru J Ekanayake <lahi...@wso2.com> wrote: > Hi , > > I have already tried with wait.until method. It will also return timeout > exception searching after given timeout. I think anyway we have to use try > block to check existences of an element. I have looked for a method that > returns ture/false on a given element existence . I'm not sure that kind of > method already in selenium. > Thank you for your help. > > Regards > > On Tue, Feb 9, 2016 at 3:13 PM, Rajeenthini Satkunam <rajeenth...@wso2.com > > wrote: > >> Hi lahiru, >> >> If you need to check that element is present in the current UI, You can >> go with this method *isElementPresent(By by)*. >> >> for example in your case *driver.**isElementPresent* >> *(By.id("elemnt_id")) *will return true if the element is present in >> current UI or else it will return false.Hope it will help you. >> >> For your reference >> >> [1] - >> https://github.com/wso2/product-ds/blob/master/modules/integration/tests-ui-integration/ui-test-utils/src/main/java/org/wso2/ds/ui/integration/util/DSWebDriver.java#L47 >> >> On Tue, Feb 9, 2016 at 3:01 PM, Lahiru J Ekanayake <lahi...@wso2.com> >> wrote: >> >>> Hi , >>> >>> I'm writing selenium tests for GREG publisher UI. When implementing UI >>> test cases, some situations we need to check whether some elements exists, >>> before click or make any operations on them. >>> Selenium provides, *driver.findElement(By.id("elemnt_id")) * >>> method to find any element by id. Problem is if that element is not >>> exist , it will return an error, saying >>> *org.openqa.selenium.NoSuchElementException: Unable to locate >>> element:{"method":"id","selector":"elemnt_id"}* >>> >>> Is there any way to check the existence of any element , without >>> catching the error? . >>> >>> >>> >>> >>> Regards >>> >>> >>> >>> -- >>> >>> >>> >>> *Lahiru J Ekanayake**Software Engineer* >>> Mobile : +94 (0) 77 8812629 / +94(0) 778509547 >>> Email : lahi...@wso2.com >>> WSO2, Inc.; http://wso2.com/ >>> lean . enterprise . middleware. >>> >>> >>> _______________________________________________ >>> Dev mailing list >>> Dev@wso2.org >>> http://wso2.org/cgi-bin/mailman/listinfo/dev >>> >>> >> >> >> -- >> >> *Thank You.* >> >> *Rajeenthini Satkunam* >> >> *Associate Software Engineer | WSO2* >> >> >> *E:rajeenth...@wso2.com <rajeenth...@wso2.com>* >> >> *M :+94770832823 <%2B94770832823> * >> >> > > > -- > > > > *Lahiru J Ekanayake**Software Engineer* > Mobile : +94 (0) 77 8812629 / +94(0) 778509547 > Email : lahi...@wso2.com > WSO2, Inc.; http://wso2.com/ > lean . enterprise . middleware. > > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- *Lahiru Cooray* Software Engineer WSO2, Inc.;http://wso2.com/ lean.enterprise.middleware Mobile: +94 715 654154
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev