Search
 
 

Display results as :
 


Rechercher Advanced Search

Latest topics
» FlexMonkium Download Not available under Gorillalogic site
Thu Dec 08, 2016 5:40 pm by bhanu.praveen

» Selenium Script issue
Tue Dec 06, 2016 9:48 pm by njain213

» Difference between QTP, Selenium and Silk test
Tue Dec 06, 2016 7:58 pm by jessicacyrus1

» Where does selenium script pick browser from
Tue Dec 06, 2016 1:52 pm by janbaskt

» Safari throws an HTTP ERROR: 404
Tue Dec 06, 2016 1:51 pm by janbaskt

» Access Denied Error in Selenium RC
Tue Dec 06, 2016 1:51 pm by janbaskt

» Automating Flex application through selenium webdriver
Fri Dec 02, 2016 2:06 pm by abhinay.krs

» Starting with Selenium, what is Selenium?
Mon Nov 28, 2016 4:00 pm by Foma

» Getting started with Selenium
Mon Nov 28, 2016 3:23 pm by Rebbelx

Navigation
 Portal
 Index
 Memberlist
 Profile
 FAQ
 Search

Unable to perform Actions on Mouse over Elements in Selenium WebDriver

View previous topic View next topic Go down

Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Wed Jun 05, 2013 9:15 pm

Hi

There is an invisible element on my HTML page which becomes visible when a mouse hover is done on the element. What I Have to do is


  1. Hover over the element
  2. Click on the element (it will display 5 options)
  3. Click on one of the options

Here i am able to locate one of the option by using Xpath but unable to do action on it viz. Click, sendkeys(Keys.Enter) etc..

Please help to perform action on that selected items.

Thanks in Advance,

Vidya

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by tarun3kumar on Thu Jun 06, 2013 10:12 am

You may have to construct web element object for the elements which appear after hover. Once you get the element you should be able to click on it using WebDriver,

_________________
Thanks
Tarun K
Free Selenium Training

tarun3kumar
Master
Master

Posts : 186
Join date : 2012-02-14

http://seleniumtests.com

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Thu Jun 06, 2013 1:07 pm

Tarun,

Thanks for ur response.
"You may have to construct web element object for the elements which appear after hover"--->I din get u exactly,But tried something (How i understood) and attached my script for ur reference.

In the below script ,I tried to locate an element "Language",which becomes visible when a mouse hover is done on the element "CB connection".And I have to click on 'Language'.
I have tried in different ways.I cudnt do the action "Click" on that element.But able to locate the element.

URL:http://www.joomlapolis.com/forum/42-usability/61928-mouse-over-on-registration-form-tooltip

Here is my sample script

Code:
import java.util.List;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Action;
import org.openqa.selenium.interactions.Actions;


public class TestPrgm {
 public static void main(String[] args) throws InterruptedException{
  WebDriver driver=new FirefoxDriver();
  driver.get("[url=http://www.joomlapolis.com/forum/42-usability/61928-mouse-over-on-registration-form-tooltip]http://www.joomlapolis.com/forum/42-usability/61928-mouse-over-on-registration-form-tooltip[/url]");
 
  Actions builder = new Actions(driver);
  Action mouseOverCBconnection = builder
  .moveToElement(driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/a/span")))
  .build();

  mouseOverHome.perform();

  Thread.sleep(2000);

  WebElement elt=driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/ul/li[2]"));
  Action mouseOverHome1 = builder
    .moveToElement(elt)
    .click(elt)
    .build();
 
  mouseOverHome1.perform();
 
  /*if("Languages".equals(driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/ul/li[2]")).getText())) {
      if(elt.isEnabled() && elt.isDisplayed())
          elt.sendKeys(Keys.ENTER);
  }*/
 
 
 
  // I ve tried this too

  /*String txt=driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/ul/li[2]")).getText();
  driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/ul/li[2]")).click();
  http://driver.findElement(By.className("item156")).click();  ------>Tried to locate the same element by classname
  System.out.println(txt);*/

  Thread.sleep(2000);
 
  driver.close();
    }

 }

Please help.

Thanks,

Vidya

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Thu Jun 06, 2013 8:54 pm

Tarun,

FYI.

I came across tis link:

http://selenium-testng.com/webdriver-events/

Please refer this. I tried the methods given here (xcept last one),but still i was unable to do the Action (Click) on the Element.

Thanks,

Vidya

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by mail2prassad on Thu Jun 06, 2013 9:38 pm

replace your block of code

if("Languages".equals(driver.findElement(By.xpath("//html/body/div/div[3]/div/div/div/ul/li[4]/ul/li[2]")).getText())) {
if(elt.isEnabled() && elt.isDisplayed())
elt.sendKeys(Keys.ENTER);
}

with the following block of code and try
WebElement languageElem = driver.findElement(By.xpath("//a[@href='/cb-solutions/languages']"));
if(languageElem.isDisplayed())
languageElem.click();

mail2prassad
Amateur
Amateur

Posts : 41
Join date : 2013-06-05

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Fri Jun 07, 2013 12:43 pm

Prassad,

Thank u so much. Its working perfectly now.

But still have few doubts…

· “WebElement languageElem = driver.findElement(By.xpath("//a[@href='/cb-solutions/languages']"));
if(languageElem.isDisplayed())
languageElem.click();”


In the above code if I replaced the xpath by “//html/body/div/div[3]/div/div/div/ul/li[3]/ul/li[2]”,which is the absolute xpath for “Language”,I am not able to do the “Click” action.

Why so??.But by using that I am able to locate the “Language”.I checked tat by using following script

String txt=driver.findElement(By.xpath//html/body/div/div[3]/div/div/div/ul/li[3]/ul/li[2]”)).getText();

System.out.println(txt);”

Output:

Language

· How to get all the options which all visible when mouse hover is done ??

For example:

In the same Scenario, I want to capture/read all the options under CB connection once mouse hover is done (i.e Languages, Adds on ,Incubator,etc..).

Note: Actually I need to read all the options as how we do for Dropdown box elements.



Please guide me.

Thanks,

Vidya

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Fri Jun 07, 2013 1:00 pm

Just now noticed that all my approaches working perfectly now with the replacement of xpath"//a[@href='/cb-solutions/languages']" instead Of “//html/body/div/div[3]/div/div/div/ul/li[3]/ul/li[2]”.

Now my query is Why I am not able to do the action by using Absolute xpath ??

Note: I got that absolute xpath by using FireBug only.

Vidya.

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by mail2prassad on Fri Jun 07, 2013 4:55 pm

If you look at the source, "//html/body/div/div[3]/div/div/div/ul/li[3]/ul/li[2]” is not a clickable element. There is an anchor tag inside this element which is clickable. That is the reason you can't click on the element.

mail2prassad
Amateur
Amateur

Posts : 41
Join date : 2013-06-05

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Fri Jun 07, 2013 5:06 pm

Prassad,

Thanks for ur response.I have another query

How to get all the options which all visible when mouse hover is done ??

For example:


In the same Scenario, I want to capture/read all the options under CB connection once mouse hover is done (i.e Languages, Adds on ,Incubator,etc..).

Note: Actually I need to read all the options as how we do for Dropdown box elements.

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by mail2prassad on Fri Jun 07, 2013 9:02 pm

After mouse hover try the following block of code.
Code:

WebElement CBsolutionsElement = driver.findElement(By.xpath("//a[@href = '/cb-solutions']"));
  List<WebElement> dropdownElements = CBsolutionsElement.findElements(By.xpath("//a[contains(@href, '/cb-solutions/')]"));
 
  for(WebElement element : dropdownElements){
     System.out.println(element.getText());
  }

mail2prassad
Amateur
Amateur

Posts : 41
Join date : 2013-06-05

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by vidya shree on Mon Jun 10, 2013 1:34 pm

Thank u Prassad.

Its working (though i am getting some extra options), I came to known about the "contains n starts-with" Xpath patterns.

Thanks again,

Vidya

vidya shree
Regular Participant
Regular Participant

Posts : 31
Join date : 2013-05-09

Back to top Go down

Re: Unable to perform Actions on Mouse over Elements in Selenium WebDriver

Post by Sponsored content Today at 3:19 am


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum