Skip to main content

Posts

Showing posts from September, 2009

HTML Parsing and Selenium

HTML parsing is always been a burning requirement with selenium. Though Selenium doesn’t have built in API which could do HTML parsing, given its high integrability it could be integrated with HTMP parser to achieve the same. I have experimented on HTML parsing using Jericho which is java library. To begin HTML parsing the only demand Jericho makes is about HTML Source and this could be obtained using Selenium API - getHtmlSource(). Herein I have listed functions which I have developed using Jericho - Count number of tables on a page – // Get Source object for HTML Tables. Source source = new Source(selenium.getHtmlSource()); List table = source.getAllElements(HTMLElementName.TABLE); Reporter.log("Number of Tables are: " +table.size()); ***Reporter is TestNG API*** Retrieve Table Data- // Retrieve table data from a specific table.Source tableSource = new Source(table.get(3).toString()); Reporter.log("Table data is:" +HTMLTableParser.getTableData(tableS

Retrieving dynanic HTML Objects from selenium

We often come across situations of dynamic html objects where in HTML id/name of a page is not constant and some time we don't even get to have any constant part if HTML identifier. Of late I came across a page which had lots of check boxes but no part oh HTML id/name was constant. To over come this we created custom functions for selenium using js evaluation capabilities of selenium. Function objectives are: ****** Retrieves all dropdown objects in a web page ****** Retrieves all multiline text box objects in a web page ****** Retrieves all radio button objects in a web page ****** Retrieves all check box objects in a web page ****** Retrieves all text box objects in a web page Depending on the availability of HTML id or name these functions would retrieve either HTML id or name. These methods are as following -