Selenium webdriver-UI Element定位
阅读原文时间:2023年07月09日阅读:3

**转:http://blog.csdn.net/jillliang/article/details/8206402**

1.创建Fixfox web driver实例

  WebDriver driver =  new ForefoxDriver();

  WebDriver driver = new InternetExplorerDriver();

2.获取Web page

driver.get("http://www.google.com");

或者

driver.navigate().to("http://www.google.com");

//navigate().to和get()其实作用是一样的,但是navigate还可以进行浏览器的前进后退操作:

driver.navigate().forward();

driver.navigate.back();

3. 定位UI Element

先安装FireBug(http://getfirebug.com/), 然后用FireBug定位页面元素的值。 如下图所示,只要把firebug的箭头放到要定位的元素上,就可以得到该元素对应标签的值, 比如goole的textbox:, 然后我们就可以通过name, id, class等属性来定位这个输入框。

3.1. 通过id

WebElement element = driver.findElement(By.id("lst-ib"));

3.2. 通过class name

WebElement element = driver.findElement(By.className("lst lst-tbb"));

3.3. 通过Name

WebElement element = driver.findElement(By.name("q"));

3.4. 通过 Tag Name

WebElement frame =driver.findElement(By.tagName("iframe"));

**3.5. *通过* Link Text**

WebElement cheese=driver.findElement(By.linkText("cheese"));

**3.6. *通过* Partial Link Text**

WebElement cheese=driver.findElement(By.partialLinkText("cheese"));

3.7. 通过CSS

WebElementcheese=driver.findElement(By.cssSelector("#food span.dairy.aged"));

3.8. 通过XPATH [注意:XPATH在IE上速度会比较慢,所以推荐使用css selector]

Listinputs=driver.findElements(By.xpath("//input"));

3.9. 通过JavaScript

WebElement element=(WebElement)((JavascriptExecutor)driver).executeScript("return $('.cheese')[0]");