此方法一般很少用。看了selenium的源码。下面首先看一下selenium的doSelect方法。也就是我们在选择下拉菜单用的select方法。可以通过index,label,value,id四种方式来select下拉菜单中的option。
doSelect源码如下:
Selenium.prototype.doSelect = function(selectLocator, optionLocator) {
/**
* Select an option from a drop-down using an option locator.
*
* <p>
* Option locators provide different ways of specifying options of an HTML
* Select element (e.g. for selecting a specific option, or for asserting
* that the selected option satisfies a specification). There are several
* forms of Select Option Locator.
* </p>
* <ul>
* <li><strong>label</strong>=<em>labelPattern</em>:
* matches options based on their labels, i.e. the visible text. (This
* is the default.)
* <ul class="first last simple">
* <li>label=regexp:^[Oo]ther</li>
* </ul>
* </li>
* <li><strong>value</strong>=<em>valuePattern</em>:
* matches options based on their values.
* <ul class="first last simple">
* <li>value=other</li>
* </ul>
*
*
* </li>
* <li><strong>id</strong>=<em>id</em>:
*
* matches options based on their ids.
* <ul class="first last simple">
* <li>id=option1</li>
* </ul>
* </li>
* <li><strong>index</strong>=<em>index</em>:
* matches an option based on its index (offset from zero).
* <ul class="first last simple">
*
* <li>index=2</li>
* </ul>
* </li>
* </ul>
* <p>
* If no option locator prefix is provided, the default behaviour is to match on <strong>label</strong>.
* </p>
*
*
* @param selectLocator an <a href="#locators">element locator</a> identifying a drop-down menu
* @param optionLocator an option locator (a label by default)
*/
var element = this.browserbot.findElement(selectLocator);
if (!("options" in element)) {
throw new SeleniumError("Specified element is not a Select (has no options)");
}
var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
var option = locator.findOption(element);
this.browserbot.selectOption(element, option);
};
doAddSelection的源码如下
Selenium.prototype.doAddSelection = function(locator, optionLocator) {
/**
* Add a selection to the set of selected options in a multi-select element using an option locator.
*
* @see #doSelect for details of option locators
*
* @param locator an <a href="#locators">element locator</a> identifying a multi-select box
* @param optionLocator an option locator (a label by default)
*/
var element = this.browserbot.findElement(locator);
if (!("options" in element)) {
throw new SeleniumError("Specified element is not a Select (has no options)");
}
var locator = this.optionLocatorFactory.fromLocatorString(optionLocator);
var option = locator.findOption(element);
this.browserbot.addSelection(element, option);
};
如果下拉菜单中没有以上标签除index之外,可以通过addSelection这个方法来添加选项。
例如:
<ul class="menu">
<li>test="a"</li>
<li>test="b"</li>
</ul>
我们就可以用selenium.addSelection("//ul[@class='menu']","test")
selenium.select("test=xxx");
以上纯属于个人研究,如果有什么不对的,请指教,共同学习。谢谢。
- 浏览: 14018 次
- 性别:
- 来自: 上海
相关推荐
selenium IDE之add selection学习样例side文件,下载后用IDE打开可直接运行
### Selenium2 Java版 使用方法详解 #### 一、引言 随着互联网技术的快速发展,Web应用变得日益复杂,为了确保产品的质量和用户体验,自动化测试成为了一种趋势和必要手段。Selenium作为一款广受欢迎的自动化测试...
- **最佳实践**: 文档中会分享一些使用Selenium的最佳实践,如编写可读性强的脚本、有效地组织测试结构、合理利用等待机制等。 总的来说,"Selenium官方中文文档PDF.zip"提供了一份详尽的指南,无论你是初学者还是...
要安装Selenium Python支持库,首选方法是从PyPI官方库下载或使用`pip`命令进行安装。对于Python3.5及以上版本,`pip`是标准库的一部分,可以使用以下命令进行安装: ```bash pip install selenium ``` **1.2 ...
"Selenium 使用详解" Selenium 是 ThoughtWorks 公司的一个集成测试的强大工具。最近参与了一个系统移植的项目,正好用到...这些只是基本的使用方法,Selenium 还有很多其他的功能,可以查阅官方文档来获取更多信息。
selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium
**SELENIUM**是一款广泛使用的自动化测试工具,主要用于Web应用的功能性测试。它之所以能够成为首选的集成/回归测试解决方案,主要是因为它具备以下几个显著特点: 1. **Selenium IDE**:作为一个Firefox插件,它...
### Selenium 知识点详解 #### 一、Selenium 概述 Selenium 是一个用于自动化 Web 应用程序测试的...通过本文的介绍,希望能够帮助大家更好地理解 Selenium 的基本原理及使用方法,进一步提升软件测试的质量和效率。
在"Selenium-doc, selenium 中文文档.zip"中,我们可以找到详尽的 Selenium 指南,包括以下几个核心知识点: 1. **Selenium WebDriver**:WebDriver 是 Selenium 的最新接口,它提供了一种标准化的方式来控制浏览器...
本文档翻译自 Selenium IDE 官方文档,旨在帮助读者快速了解和掌握 Selenium IDE 的使用方法和功能。Selenium IDE 是一款基于录制和回放操作的 web 自动化测试工具,是火狐浏览器的插件。通过本文档,读者可以学习...
Selenium WebDriver 中使用 By.Xpath 快速定位页面元素 Selenium WebDriver 是一个自动化测试工具,可以模拟用户交互来对 Web 应用程序进行测试。其中,定位页面元素是自动化测试的关键步骤。By.Xpath 是一种快速...
使用这个jar包,开发者可以直接在Java代码中调用Selenium的方法,创建测试脚本。Selenium-java包含了各种元素定位策略、等待机制、页面对象模型等功能,使得编写测试代码更为便捷。虽然在某些简单的情况下,不使用...
在使用 Selenium WebDriver 和 ReportNG 进行自动化测试时,如果报告中包含中文字符,可能会出现乱码的问题。这是因为 ReportNG 在生成报告时没有正确地处理中文字符的编码,导致乱码的出现。解决这个问题的关键是...
通过以上内容,我们可以了解到 Selenium API 在 Python 中的基本用法和常见的网页自动化测试操作。掌握这些知识后,可以编写复杂的自动化测试脚本,大大提高测试效率和准确性。阅读"Selenium API 中文参考手册"将...
Selenium提供了多种方法来定位页面中的元素,包括但不限于ID、CSS选择器、XPath等。下面是一些常见的查找元素的方法示例: ```python from selenium import webdriver browser = webdriver.Chrome() browser.get('...
2. **JsonWireProtocol 和 W3C WebDriver 协议**: Selenium 使用这两种协议与浏览器通信。JsonWireProtocol 是早期的协议,而 W3C WebDriver 协议是更现代的标准,提供了更健壮和跨平台的兼容性。源码中可以看到这些...