5.6 操作页面元素WebElement
在Selenium 1中,直接通过Selenium的各种方法来操作页面元素,但在Selenium 2中则不同,需要通过上5.5讲到的By对象先定位到对应的页面元素,然后调用这个页面元素的相关方法来进行操作。
可以通过WebDriver的FindElement()方法获得WebElement的对象实例。
在获取页面元素后,就可以对该页面元素进行各种操作了。
5.6.1 Click()
Click()方法用于执行单击元素的操作。例如,百度首页上有“登录”超级链接,如图5-36所示。
图5-36 登录按钮
要单击“登录”超级链接,代码如程序清单5-29或程序清单5-30所示/
程序清单5-29 C#代码
IWebDriver driver = new FirefoxDriver(); |
程序清单5-30 Java代码
WebDriver driver = new FirefoxDriver(); |
在执行“WebElement baiduLogin = driver.findElement(By.LinkText("登录"));”时,程序先通过“driver.findElement(By.LinkText("登录"));”找到该按钮,然后将其赋值给变量baiduLogin。baiduLogin就是获取到的页面元素,它代表“登录”按钮,获取到它之后就可以对它进行各种操作了,例如单击操作baiduLogin.click()。
注意,在Selenium 2中没有Check/UnCheck这类方法来勾选或取消复选框和单选框,所以只能通过Click方法来进行勾选或取消勾选。例如,百度贴吧的页面上有“记住我的登录状态”复选框如图5-37所示。