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

Reply via email to