在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]"));
文中提到的时间是我的环境上的情况,估计具体时间和机器配置、软件版本、页面
复杂度等都有密切关系。
分享到:
相关推荐
在 Selenium WebDriver 中使用 By.Xpath 快速定位页面元素可以实现多属性定位一个元素。例如,在登录页面密码框定位中,可以使用 By.Xpath 来定位密码框,然后进行清空和输入密码操作。 使用 By.Xpath 定位页面元素...
在Java中使用XPath定位元素,你需要导入`org.openqa.selenium.By`包,并使用`By.xpath()`方法: ```java WebElement element = driver.findElement(By.xpath("//input[@id='username']")); ``` 在Python中,...
此外,可能还会包含一些辅助功能,如验证XPath表达式的正确性,或者用XPath选取特定节点并高亮显示在页面上。 5. **浏览器兼容性**:虽然题目中提到的是IE,但考虑到现代开发环境,小工具可能还需要处理其他浏览器...
爬虫学习笔记(主要涉及scrapy,request,xpath,selenium等).md
这将使Selenium在IE中使用Google提供的XPath库,从而提高效率。尽管如此,相比Firefox和其他支持原生XPath解析的浏览器,IE的执行速度仍然较慢。 在开发和调试过程中,Firefox的Firebug插件是一个非常有用的工具。...
在使用RPA Selenium进行自动化测试时,首先需要安装和配置好Selenium WebDriver,然后选择适合的浏览器驱动,如Fire-IEBrowser1.4对于IE浏览器。接着,通过编程语言编写测试脚本,利用XPath定位页面元素。在这个过程...
在Selenium中,我们可以使用`find_element_by_xpath()`或`find_elements_by_xpath()`方法来查找单个或多个元素。同时,XPath还支持一些运算符和函数,比如`contains()`、`starts-with()`、`ends-with()`等,可以帮助...
总结来说,“Fire-IEBrowser1.4”是一个针对IE浏览器的Selenium自动化测试工具,它可能解决了在IE上运行Selenium测试的特殊挑战,并且提供了一种使用Excel宏来编写和管理测试脚本的方法。通过XPath的支持,它增强了...
### Selenium自动化测试之XPath进阶知识点详解 #### 一、XPath概述 XPath 是一种用于在 XML 文档中查找信息的语言,它可以快速定位到 XML 文档中的任何部分。在 Web 自动化测试领域,XPath 被广泛应用于元素的定位...
Python Selenium 运行失败常见错误解决方案 在使用 Python Selenium 进行自动化...使用 Python Selenium 进行自动化测试时,可能会遇到各种错误,但这些错误都可以通过检查定位方法、驱动版本、浏览器版本等来解决。
在 selenium-remote-control-0.9.0\server 目录里,我们运行 java -jar selenium-server.jar 之后你就会看到一些启动信息。要使用 selenium-rc,启动这个 server 是必须的。当然,启动的时候有许多参数,这些用法...
2. **基本操作**:讲解如何使用Selenium Python API创建Webdriver对象,打开网页,定位元素(通过ID、Name、XPath、CSS选择器等),以及执行基本的交互操作,如点击、输入、选择下拉项等。 3. **等待策略**:讨论...
在这个项目中,我们专注于使用Selenium实现中英互译功能,这对于处理网页上的多语言内容非常有用。 首先,该项目提供了两种版本的翻译器:一个可执行的exe文件和一个Python源代码文件(translater.exe和translater....
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它通过路径表达式来选取节点,如元素、属性、文本等。 该插件的主要功能包括: 1. **元素定位**:在浏览网页时,XPath Helper允许用户右键点击任何...
由于在许多情况下需要使用 XPath 来定位页面元素,因此掌握 XPath 基础知识非常重要。可以参考教程:[http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html]...
### Selenium2 Java版 使用方法详解 #### 一、引言 随着互联网技术的快速发展,Web应用变得日益复杂,为了确保产品的质量和用户体验,自动化测试成为了一种趋势和必要手段。Selenium作为一款广受欢迎的自动化测试...
除了ie,其他主要浏览器都是内置对xpath的支持的,但ie不行,所以selenium 使用了javascript库,默认使用的是ajaxslt,这个会比较慢,可以换成 javascript-xpath, 虽然比firefox还是慢,但也快多了,上面的...
在面对这种问题时,测试人员需要寻找替代的解决方案。这里提到的一种方法是利用Selenium IDE的扩展(Extensions)功能。这种方法涉及到对Selenium IDE进行自定义,以适应ExtJs特有的行为。 首先,我们来看一下如何...