元素的Actions(特效)及基本UI控件操作
说明:不同的页面元素具有不同Actions,例如一个按钮就可以具备”单击“Action,但你肯定无法在按钮上”输入“文字。虽然在WebDriver的API中,所有的Actions罗列在WebElements中,但是测试开人人员务必弄清楚这些Actions的适用对象。如果在错误的页面元素上使用了无效的Actions,不会看到有任何的错误提示信息并且相关的操作也不会被触发,因为WebDriver会忽略当前页面元素所不支持的Actions。
1、sendKeys() 网站转载
2、clear() 网站转载
3、submit() 网站转载
----------------------------------------------------------------------------------------------------------------------------------------------------------------
个人整理:
1、如果是form表单提交的话,都可以用submit直接操作,以上例子是form表单中的一个文本框元素非这个表单提交,所以可以直接用submit,如果用clink()的话还需要获取按钮那个元素然后再调用clink()点击事件。
2、form表单的两种提交方式,submit和button的用法,而我们在写脚本的时候,只需要知道form表单这个打标签就行,不需要关注form表单内部的提交方式是submit还是button,我们都可以直接用.clink()或者.submit()来执行点击事件。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
4、isDisplayed() 网站转载
5、isEnabled() 网站转载
6、isSelected() 网站转载
7、getAttribute() 网站转载
---------------------------------------------------------------------------------------------------------------------------------------------------------
个人整理:例子 -判断select选中了那个option具体例子如下
List<WebElement> list1 = dr.findElement(By.id("update_repaymentDateType")).findElements(By.tagName("option")); System.out.println(list1.size()); for(int i=0;i<list.size();i++) { if(list.get(i).getAttribute("selected").equals("true")) { System.out.println(list.get(i).getText()); } } System.out.println(list.get(0).getAttribute("selected"));//返回true或则和false System.out.println(list.get(1).getAttribute("selected"));
getText()和getAttribute()之间的区别:
1、getText获取元素的visible(可见)内嵌前台文字
例如:
如csdn首页中的链接<a class="left" target="_blank" href="http://www.csdn.net" onclick="LogClickCount(this,285);">首页</a>。 通过 driver = new FirefoxDriver(); url = "http://www.csdn.net/"; driver.get(url); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); String text = driver.findElement(By.xpath("//div[@class='csdn_pub_nav_bg']/div[1]/a[1]")).getText(); 可取得文本“首页”。
2、getgetAttribute():返回指定属性名的属性值
例如:
而对于页面上输入类型的元素(input,textarea等),则不能通过getText()获取到相应的文本。如csdn首页中搜索框中默认的“搜索”二字。其标签为
<input id="srch1" class="search" type="text" onblur="if(this.value=='') this.value='搜索';
this.style.color='#999'; return true;" onfocus="if(this.value=='搜索')
this.value='';this.style.color='#333'; return true;" value="搜索"
name="passwordtwo" style="color: rgb(153, 153, 153);"/> 通过String errorValue = driver.findElement(By.xpath("//input[@class='search']")).getText();得到的值为空。此时应使用getAttribute()。 getAttribute(String name):获取元素中名为name的属性的值。 通过String value = driver.findElement(By.xpath("//input[@class='search']")).getAttribute("value"); 即可获取到值“搜索”。 通过String type = driver.findElement(By.xpath("//input[@class='search']")).getAttribute("type");则对应可获得值“text”。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
8、getText() 网站转载
9、getTagName() 网站转载
10、getCssValue() 网站转载
11、getLocation() 网站转载
基本UI空间操作 (网站转载)