元素(WebElement)-----Selenium快速入门(三)

WebElement常用方法:

 返回值    方法名    说明  
 void    clear()   如果找到的元素是input 或  textarea,则清除它的值。其他元素不受影响。   
 void     click()  

点击一个元素,元素必须可见,并且宽高都必须大于0。如果这个点击操作导致页面刷新的话,

必须要抛弃这个元素的所有引用,并且对这个元素的进一步操作,

都会引发StaleElementReferenceException

 
 String    getAttribute(String name)    通过属性名,获得属性值。例如,我想获得value的值,可以调用getAttribute("value")  
 String    getCssValue(String propertyName)   通过属性名,获得Css属性值,例如getCSSValue("height")  
 String    getTagName()   获得该元素的标签名,例如input,p等  
 String    getText()  

获取页面上可见的文字(没有被css隐藏),包括子元素,获得的文本去除任何前导或后置的空格。

例如,html源码是<p >    aaaaa <br/>bbbbb<br/><a href="#">   cccccc    </a></p>

实际输出

aaaaa

bbbbb

cccccc

 
 boolean    isDisplayed()   判断该元素是否可见。  
 boolean    isEnabled()   判断元素是否可用。  
 boolean    isSelected()   判断元素是否被选中,只用于单选或者多选按钮(radio button,check box)  
 void    sendKeys(CharSequence... keys)   模拟输入字符  
 void     submit()  

如果当前元素是一个form或者是在form内的一个元素,则会提交表单。

否则,引发NoSuchElementException

 

下面用一个自动注册的例子,来说明上面一些方法的使用。

我们注册的地址是:

之所以选择这个,是因为它不需要验证码,而且虽然分成三步注册,实际填好第一个注册界面,点击注册,即可注册成功,后面不需要绑定手机什么的。

首先,我们用chrome的F12调试工具,获得页面中元素的各ID。

元素(WebElement)-----Selenium快速入门(三)

需要注意的是,当“我已阅读并同意”未选中时,“注册”是不可用的,因此,我们先选中同意,然后输入其他文本框,为什么要先选中?大家自己思考一下。

下面是详细的代码,都有详尽的解释。

System.setProperty("webdriver.chrome.driver", "D:/WorkSpace/SeleniumTest/tools/chromedriver.exe"); WebDriver driver=new ChromeDriver(); driver.get("http://www.eshimin.com/pages/account/register/regIndex.jsp"); //定位各种需要填写的元素 WebElement userName=driver.findElement(By.id("userNameInput")); WebElement pwd=driver.findElement(By.id("passwordInput")); WebElement rePwd=driver.findElement(By.id("rePasswordInput")); WebElement chkAgree=driver.findElement(By.id("secret")); WebElement button=driver.findElement(By.id("nextStep")); //首先判断check box是否被选中,如果没有被选中,则选中 if(!chkAgree.isSelected()) chkAgree.click(); //在用户名文本框输入用户名 userName.sendKeys("csdfsss0002"); //输入密码 pwd.sendKeys("abc123"); //重复密码 rePwd.sendKeys("abc123"); //提交表单 button.submit();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyxwy.html