`
yiyu
  • 浏览: 186267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在ie上使用xpath时selenium运行缓慢的解决办法

阅读更多
在ie上运行selenium的测试程序时,如果使用的是xpath,会发现速度奇慢无比,
例如这样一个测试

assertTrue(selenium.isElementPresent("//div[@id='content']/div[1]/table/tbody/tr[2]/td[2]"));


在firefox上的时间是毫秒级的,但在ie上却要数十秒,经过查找资料,终于找到
了解决办法:

1. 更换默认的xpath库
  除了ie,其他主要浏览器都是内置对xpath的支持的,但ie不行,所以selenium
  使用了javascript库,默认使用的是ajaxslt,这个会比较慢,可以换成
  javascript-xpath,  虽然比firefox还是慢,但也快多了,上面的例子只需要不
  到1秒。换法很简单,如下:
 
selenium = new DefaultSelenium(location, port, browser, targetPath);
selenium.start();
selenium.useXpathLibrary("javascript-xpath");


2. 写xpath时,尽量从一个具有id的元素开始,这样也可以大大提高执行速度,例如
  如果上面的测试写成下面这样,运行时间就会变成几秒了。
 
assertTrue(selenium.isElementPresent("//div[1]/table/tbody/tr[2]/td[2]"));


文中提到的时间是我的环境上的情况,估计具体时间和机器配置、软件版本、页面
复杂度等都有密切关系。
分享到:
评论
1 楼 Dominator008 2012-09-01  
谷歌刚刚发布了 Wicked Good XPath,重写了JavaScript-XPath,体积更小,速度更快,链接请看 https://code.google.com/p/wicked-good-xpath/

相关推荐

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

    在 Selenium WebDriver 中使用 By.Xpath 快速定位页面元素可以实现多属性定位一个元素。例如,在登录页面密码框定位中,可以使用 By.Xpath 来定位密码框,然后进行清空和输入密码操作。 使用 By.Xpath 定位页面元素...

    IE浏览器Xpath工具.zip

    在Java中使用XPath定位元素,你需要导入`org.openqa.selenium.By`包,并使用`By.xpath()`方法: ```java WebElement element = driver.findElement(By.xpath("//input[@id='username']")); ``` 在Python中,...

    IE下获取XPATH小工具源码_xpath_

    此外,可能还会包含一些辅助功能,如验证XPath表达式的正确性,或者用XPath选取特定节点并高亮显示在页面上。 5. **浏览器兼容性**:虽然题目中提到的是IE,但考虑到现代开发环境,小工具可能还需要处理其他浏览器...

    爬虫学习笔记(主要涉及scrapy,request,xpath,selenium等).md

    爬虫学习笔记(主要涉及scrapy,request,xpath,selenium等).md

    Selenium中使用XPath.docx

    这将使Selenium在IE中使用Google提供的XPath库,从而提高效率。尽管如此,相比Firefox和其他支持原生XPath解析的浏览器,IE的执行速度仍然较慢。 在开发和调试过程中,Firefox的Firebug插件是一个非常有用的工具。...

    RPA Selenium 定位Xpath 工具

    在使用RPA Selenium进行自动化测试时,首先需要安装和配置好Selenium WebDriver,然后选择适合的浏览器驱动,如Fire-IEBrowser1.4对于IE浏览器。接着,通过编程语言编写测试脚本,利用XPath定位页面元素。在这个过程...

    Selenium_XPath定位详解

    在Selenium中,我们可以使用`find_element_by_xpath()`或`find_elements_by_xpath()`方法来查找单个或多个元素。同时,XPath还支持一些运算符和函数,比如`contains()`、`starts-with()`、`ends-with()`等,可以帮助...

    Fire-IEBrowser1.4

    总结来说,“Fire-IEBrowser1.4”是一个针对IE浏览器的Selenium自动化测试工具,它可能解决了在IE上运行Selenium测试的特殊挑战,并且提供了一种使用Excel宏来编写和管理测试脚本的方法。通过XPath的支持,它增强了...

    selenium自动化测试之xpath进阶

    ### Selenium自动化测试之XPath进阶知识点详解 #### 一、XPath概述 XPath 是一种用于在 XML 文档中查找信息的语言,它可以快速定位到 XML 文档中的任何部分。在 Web 自动化测试领域,XPath 被广泛应用于元素的定位...

    python selenium运行失败常见错误.docx

    Python Selenium 运行失败常见错误解决方案 在使用 Python Selenium 进行自动化...使用 Python Selenium 进行自动化测试时,可能会遇到各种错误,但这些错误都可以通过检查定位方法、驱动版本、浏览器版本等来解决。

    selenium使用

    在 selenium-remote-control-0.9.0\server 目录里,我们运行 java -jar selenium-server.jar 之后你就会看到一些启动信息。要使用 selenium-rc,启动这个 server 是必须的。当然,启动的时候有许多参数,这些用法...

    SELENIUM2自动化测试实战(基于PYTHON语言)源码.zip

    2. **基本操作**:讲解如何使用Selenium Python API创建Webdriver对象,打开网页,定位元素(通过ID、Name、XPath、CSS选择器等),以及执行基本的交互操作,如点击、输入、选择下拉项等。 3. **等待策略**:讨论...

    python爬虫 使用selenium 实现中英互译

    在这个项目中,我们专注于使用Selenium实现中英互译功能,这对于处理网页上的多语言内容非常有用。 首先,该项目提供了两种版本的翻译器:一个可执行的exe文件和一个Python源代码文件(translater.exe和translater....

    xpath-helper 插件及使用方法

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它通过路径表达式来选取节点,如元素、属性、文本等。 该插件的主要功能包括: 1. **元素定位**:在浏览网页时,XPath Helper允许用户右键点击任何...

    Selenium

    由于在许多情况下需要使用 XPath 来定位页面元素,因此掌握 XPath 基础知识非常重要。可以参考教程:[http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html]...

    selenium2 Java版 使用方法

    ### Selenium2 Java版 使用方法详解 #### 一、引言 随着互联网技术的快速发展,Web应用变得日益复杂,为了确保产品的质量和用户体验,自动化测试成为了一种趋势和必要手段。Selenium作为一款广受欢迎的自动化测试...

    javascript-xpath-latest.js

    除了ie,其他主要浏览器都是内置对xpath的支持的,但ie不行,所以selenium 使用了javascript库,默认使用的是ajaxslt,这个会比较慢,可以换成 javascript-xpath, 虽然比firefox还是慢,但也快多了,上面的...

    Selenium IDE测试ExtJs一种测试解决办法.docx

    在面对这种问题时,测试人员需要寻找替代的解决方案。这里提到的一种方法是利用Selenium IDE的扩展(Extensions)功能。这种方法涉及到对Selenium IDE进行自定义,以适应ExtJs特有的行为。 首先,我们来看一下如何...

Global site tag (gtag.js) - Google Analytics