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 python中关于iframe的定位

最近自己在

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

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

python+Selenium2+chrome构建动态网页爬虫工具

python+Selenium2+chrome构建动态网页爬虫工具 分类: python-web2013-06-30 11:23 842人阅读 评论(0) 收藏 举报       ...
  • lionzl
  • lionzl
  • 2013-11-19 18:47
  • 1595

[Python爬虫]Scrapy配合Selenium和PhantomJS爬取动态网页

Python世界中Scrapy一直是爬虫的一个较为成熟的解决方案,目前javascript在网页中应用越来越广泛,越来越多的网站选择使用javascript动态的生成网页的内容,使得很多纯html的爬...

Selenium自动化测试学习笔记--xpath表达式

Xpath是在XML文档中查找信息的一种语言,使用路径表达式来选取XML文档中的节点或节点集,由于XML与HTML结构类似(前者用于传输数据,后者用于显示数据),所以Xpath也常用于查找HTML文档...

python实战(3)--使用Selenium模拟浏览器抓取淘宝商品美食信息

一.思考 selenium+Chrome/PhantomJS 目标站点分析 (1)淘宝源码中没有商品信息 (2)其他的请求也非常复杂,还有很多莫名的参数, (3)如果分析ajax的话爬取会非常困...

Python 爬虫 PhantomJs 获取JS动态数据

Python 爬虫 PhantomJs 获取JS动态数据 字数2034 阅读2900 评论16 喜欢8 上篇文章我非常high的爬取了一个正常网页的数据 对是正常 不正...

Python网页信息采集:使用PhantomJS采集淘宝天猫商品内容

最近一直在看Scrapy 爬虫框架,并尝试使用Scrapy框架写一个可以实现网页信息采集的简单的小程序。尝试过程中遇到了很多小问题,希望大家多多指教。

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

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

selenium webdriver xpath 定位页面元素

selenium webdriver定位页面元素 selenium-webdriver提供了强大的元素定位方法,支持以下三种方法。 单个对象的定位方法多个对象的定位方法层级定位...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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