您现在的位置是:首页 > web开发 > Selenium2.0 Webdriver 随笔

Selenium2.0 Webdriver 随笔

web开发作者:dayu日期:10天前点击:7
技术分享


  1. ((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].scrollIntoView(true);",element);

[csharp]view plaincopy


  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. RemoteWebdriverrw=newRemoteWebdriver();
  2. RemoteWebElementre=rw.FindelementOnPage(By.Id("id"));
  3. re.LocationInView;

[csharp]view plaincopy


    1. RemoteWebdriverrw=newRemoteWebdriver();
    2. RemoteWebElementre=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 随笔

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


下一篇       上一篇