webdriver selenium xpath

原创 2012年03月29日 14:12:32
  • xpath 语法
  1. / 表示从根节点开始查找
  2. //表示全文查找
  3. 不填表示从当前节点查找
  4. @表示attribute, By.xpath("//iframe[@class='g-editor-iframe']"

  • 获取iframe中的内容
      
            Selenium2在使用get()方法打开一个网页的时候,是不会继续加载里面的iframe中的内容的(这一点与Selenium有所区别)。那么,我们就需要人为的要求Selenium2对iframe中的内容进行加载。
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@class='g-editor-iframe']"))); ?

    用getWindowHandle()方法可以快速的进行切换回主页:

    String strMainHandler = driver.getWindowHandle();
    driver.switchTo().window(strMainHandler);

  •  代码driver.findElement(By.className("lQ txt-flag0"))会报错,因为calssname包含了空格或者.,webdriver会认为尝试复合的classname查询,所以应该使用xpath或者cssselector。
    driver.findElement(By.cssSelector("li[class='lQ txt-flag0']"));
    driver.findElement(By.xpath("//li[@class=''lQ txt-flag0']"));

  • Explicit and Implicit Waits
Explicit wait: 显示等待,等待的条件满足或者等待超时
Implicit wait: 隐式等待,设定一次在整个webdriver instant的生命周期内有效,所以操作会等待直到超时,不用显示调用

如果指定的元素//a[@title='xxx草稿箱']找不到,那么将在此等待15s
 WebElement myDynamicElement = (new WebDriverWait(driver, 15))
        .until(new ExpectedCondition<WebElement>(){
       @Override
       public WebElement apply(WebDriver d) {
       return d.findElement(By.xpath("//a[@title='xxx草稿箱']"));
       }});

如果指定的元素//a[@title='xxx草稿箱']找不到,也会等待5s
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
WebElement draftBox = driver.findElement(By.xpath("//a[@title='xxx草稿箱']"));


  • Webdriver
ref.http://my.oschina.net/willSoft/blog/28119

在Selenium Webdriver中使用XPath Contains、Sibling函数定位

前言 在一般情况下,我们通过简单的xpath即可定位到目标元素,但对于一些既没id又没name,而且其他属性都是动态的情况就很难通过简单的方式进行定位了。 在这种情况下,我们需要使用x...

selenium webdriver xpath 定位页面元素

selenium webdriver定位页面元素 selenium-webdriver提供了强大的元素定位方法,支持以下三种方法。 单个对象的定位方法多个对象的定位方法层级定位...

linux下安装phantomjs

phantomjs linux 下安装 ubuntu 适用

AutoTest--HTML/XML/XPath基础及辅助工具

一.HTML 1.基本结构:                   ......                         ......       2.为文档的根元素,所有描述都在其...

在Selenium WebDriver中使用By.Xpath快速定位页面元素

转载: http://www.51testing.com/html/38/113838-849231.html 以登录页面密码框定位为例,讲解如何在selenium webdr...
  • lcm_up
  • lcm_up
  • 2013年12月15日 15:52
  • 3996

在Selenium WebDriver中使用By.Xpath快速定位页面元素

以登录页面密码框定位为例,讲解如何在selenium webdriver中通过by.xpath定位页面元素,快速获取元素位置并完成操作。   问题引入:   用Selenium IDE录制后的脚本如下...

WebDriver xpath css selector

  • 2014年07月03日 10:26
  • 1.44MB
  • 下载

selenium webdriver2 环境搭建

  • 2017年02月27日 14:31
  • 319KB
  • 下载

WebDriver(Selenium2) 常见异常及处理方法

Exception NoSuchElementException  Solutions     1. Check the locator of your target element.  2. If ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:webdriver selenium xpath
举报原因:
原因补充:

(最多只允许输入30个字)