Archive

Archive for April, 2013

Select in list of Elements (WebDriver)

How can I do a select in a list of elements with some attributes in equal. This is simple, like a query in SQL:

First you have to create a enumerable of WebElements:

Enumerable<WebElement> list = from item in bsaNavigator.FindElements(By.TagName(“span“)).ToList()   // the list of elements are span or td, or whatever you want. With Xpath, or id… you will decide .

where item.GetAttribute(“class“).Contains(“rmText“)  &&  item.Text.Equals(“TextElement“.ToString())  //this is the condition that you will make, like every elements of span who have the attribute of the class have contains the text “rmText” and the Text is equals a something you need.

select item; // select the item with the conditions

WebElement Element = list.FirstOrDefault();  // catch the first element of the list with selects.
Element.Click();    // the action or whatever you want do with the element.

Simple and very usefull !!

Bye bye !

Context click with actions (WebDriver)

April 23, 2013 1 comment

Hello !!

 

Do you need simulate a context click (right-click) in some element ?

With the lib actions is simple. First you need import the actions of java and after

 

Actions actions = new Actions(driver);     //Instance the Actions

WebElement Element = driver.findElement(By.id(“ID“)); // find the element and put is in a variable

actions.ContextClick(Element).Perform(); // position the mouse over the element and context click it.

 

Just this, in some cases you have put a speed more lower or a wait element os something like that to work well.

 

Bye bye !!

 

Find Elements with different ways

Two different ways for find a element of a list in a page with WebDriver:

To find a element that inside in a span css and contains some text, you can use the lambda and catch the array for this elements: 

> Lambda expression
bsaNavigator.FindElements(By.TagName(“span“)).Where(o => o.Text == “@Text“).ToList()
                                       

Or you can select the element, like SQl expression, remember of change the variables and the type of the source (span, div, table, tr and others). @Text is the variable that you will search in this span elements .

> Linq
                                       
var spans = from p in bsaNavigator.FindElements(By.TagName(“span“)) where p.Text == “@Text” select p;

 

Do you have some doubt ? You can ask me in the comments !

Bye bye 🙂

%d bloggers like this: