码迷,mamicode.com
首页 > Web开发 > 详细

Selenium2.0 Webdriver 随笔

时间:2017-07-18 01:48:08      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:ase   相对   str   移动   code   fork   sharp   res   第一个   

Webdriver can‘t action the element when the element is out of view

1. Scroll to the element

use JavaScript to scroll the element to view

[csharp] view plaincopy技术分享技术分享
 
  1. ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", element);  
[csharp] view plain copy
 
  1. ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);", element);  



2. Use Location to view

Use LocationInView property need use RemoteWebdriver and RemoteWebElement

Code like:

[csharp] view plaincopy技术分享技术分享
 
  1. RemoteWebdriver rw = new RemoteWebdriver();  
  2. RemoteWebElement re = rw.FindelementOnPage(By.Id("id"));  
  3. re.LocationInView;  
[csharp] view plain copy
 
    1. RemoteWebdriver rw = new RemoteWebdriver();  
    2. RemoteWebElement re = rw.FindelementOnPage(By.Id("id"));  
    3. re.LocationInView;  

 

Keypress(string locator, string keySequence) 

selenium.KeyPress("id=rd_A", "\\40")

 

display都有这些值,有none, inline,block...,我把none改成了block,也可以把visiblility:hidden改成visible
JavascriptExecutorj= (JavascriptExecutor)driver;
j.executeScript("document.findElementById(‘123‘).style.display=‘block‘;");
然后再WebElement.sendKeys ("c:\abc.txt");

 

xpath在定位更接近目标的节点时可用“//”和“/”分割路径,“//”表示相对路径,即可直接定位到元素,不管它的位置在哪;
“/”表示绝对路径,即当前目录下的直接子元素。

 

比如在 input 框中输入某个字符也可以使用这个方法。
action.click(element).sendKeys(keysToSend)。
这个方法也可以合并成:
action.sendKeys(element,keysToSend);

 

在写selenium自动化的过程中,经常会遇到这样的问题:

1.在同一个页面内做操作,比如点击某个按钮后,弹出一个框,再点击另外一个按钮,又弹出一个框 
2.此时如果第一个click操作后,第二个click再点击时,由于前一个弹出的框仍旧在前端显示,就会出错 
3.在实际人工操作中,点击出第一个框后,点击一下空白区域,在点击出现第二个框。因此,可以考虑一个点击空白区域的方法

实现方法如下

/**
 * 点击空白区域:坐标(0,0)
 */
public static void clickBlankArea(WebDriver driver) {
    Actions actions = new Actions(driver);
    actions.moveByOffset(0, 0).click().build().perform();
}

让driver先移动到一个空白位置(此处设为(0,0)坐标点),做一下点击操作即可

 

 

 

Selenium2.0 Webdriver 随笔

标签:ase   相对   str   移动   code   fork   sharp   res   第一个   

原文地址:http://www.cnblogs.com/111testing/p/7198362.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!