这个是被测试的 HTML 代码。
http://code.google.com/p/selenium/source/browse/trunk/selenium/src/web/tests/html/test_locators.html?r=10587
ThoughtWorks 好牛啊。。。
<html>
<!--
Copyright 2006 ThoughtWorks, Inc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html">
<body lang="en">
<p>this is the first element in the document</p>
<img style="width: 644px; height: 41px;" alt="banner" src="banner.gif"><br>
<a id="id1" href="#id1" class="a1">this is the first element</a>
<!-- DO NOT DELETE THIS COMMENT: see SEL-68 -->
<a id="id2" name="name1" href="#id2" class="a2" alt="foo">this is the <b>second</b> <span selenium:foo="bar">element</span></a>
<a id="id3" name="name1" href="#id3" class="a3">this is the third element</a>
<a id="foo:bar" href="#id3" class="a4">this is the fourth element</a>
<a class="class1 class2 class3">this is the fifth element</a>
<a lang="en-cn-something">this is the sixth element</a>
<input type="radio" name="name2" value="yes"> <input type="radio" name="name2" value="no">
<table class="stylee">
<tr>
<th>theHeaderText</th>
<td>theCellText</td>
</tr>
</table>
<div id="linkPseudoTest"><a href="#">link pseudo test</a></div>
<div id="combinatorTest">this is the parent. <span id="firstChild">this is a child <a>and grandson</a></span>, <span>another child</span>, <span>last child<span></span></span></div>
<div id="css3test">
<a name="foobar">foobar</a>
<a name="barfoo">barfoo</a>
<a name="foozoobar" id="foobar">foozoobar</a>
</div>
<div id="onlyChild"><span>only child</span></div>
<span></span>
<input type="text" name="enabled" value="enabled">
<input type="text" name="disabled" value="disabled" disabled="true">
<input type="checkbox" name="checked" value="checked" checked="true">
<div id="structuralPseudo">
<span>span1</span>
<span>span2</span>
<span>span3</span>
<span>span4</span>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<div>div4</div>
</div>
<div id="nested1">
<div id="nested2">
<input id="nested3a" type="button" value="nested3a">
<input id="nested3b" type="button" value="nested3b">
</div>
</div>
<div id="anotherNested">
<span>
<div id="usefulStuff">
<span>
<input value="winner"></input>
</span>
</div>
</span>
</div>
<div id="targetTest">
<span name="target">target</span>
<a href="#target">referreing URI</a>
</div>
<a id="jshref" href="javascript:doFoo('a', 'b')">javascript href with spaces</a>
<div id="buttons">
<button>left</button> <button>right</button>
</div>
<div id="ignore">
<a class="somewhere">over the rainbow</a>
<a class="">skies are blue</a>
</div>
<form id="myForm" method="POST">
<input type="text" name="id" />
</form>
</body>
</html>
分享到:
相关推荐
2. `src/` 目录:包含了扩展的源代码,如JavaScript文件、HTML模板、CSS样式等。 3. `scripts/` 目录:可能包含构建脚本,比如使用Gulp编译Sass文件,合并和压缩JavaScript。 4. `test/` 目录:可能有单元测试或集成...
4. **元素定位**: Selenium 提供了多种方法来定位页面元素,如 `id`, `name`, `class_name`, `xpath`, `css_selector` 等。理解并熟练运用这些定位策略是编写测试脚本的关键。 5. **基本操作**: 一旦定位到元素,...
通过阅读源代码,你可以学习如何实际应用以上知识点来构建和执行 Selenium 测试。此外,该项目可能还涉及了一些高级主题,如数据驱动测试、并行测试或多环境测试。通过深入研究,你将能够更好地理解和掌握 Selenium ...
**四、实验过程与源代码** 实验过程中,我们可以先用Selenium IDE录制一个简单的登录流程,然后将其转换为所选编程语言的WebDriver代码。例如,以下是一个使用Python和Selenium WebDriver的简单示例: ```python ...
selenium_153.zip可能包含了数据驱动测试的例子,通过读取外部数据源(如CSV文件或数据库)来实现参数化测试,提高测试覆盖率。 七、Selenium与持续集成 Selenium测试脚本可以与持续集成工具(如Jenkins、Travis C...
例如,如果项目中存在不兼容的代码或者依赖项,就需要考虑降级Selenium版本。 ##### 1.2.2 解决方案 使用pip命令可以轻松地降级到指定版本: ``` pip install selenium==3.0.0 ``` ##### 1.2.3 检查pip环境 确保...
通过Scrapy发送请求获取网页源代码,然后用Selenium来渲染并模拟用户行为。例如: 1. **启动Selenium**:在Scrapy Spider中,启动Selenium的浏览器实例,加载页面。 2. **页面渲染**:Selenium会执行JavaScript,...
- **基础语法**:`By.cssSelector(<cssSelector>)` - **特殊定位**: - `*=`:包含指定内容。 - `^=`:以指定内容开头。 - `$=`:以指定内容结尾。 - `#id`:通过 ID 定位。 - `标签 + 空格 + 标签`:例如 `...
一个更可行的方案是使用JavaScript执行保存操作,这可能需要对网页源代码有深入理解。 ```python # 这部分需要根据实际网页结构编写 save_script = "var e = document.createEvent('MouseEvents'); \ e....
在脚本中导入 Selenium 相关模块,并编写自动化测试代码。 **1.6 Selenium 3 + Firefox 环境搭建** ##### 1.6.1 安装 Python 如上所述安装 Python。 ##### 1.6.2 检查 Pip 工具 确保 Pip 正常可用。 ##### ...
Selenium 是一个强大的自动化测试工具包,主要被用来自动化Web应用的测试,但因其灵活性和可扩展性,也被广泛应用于Web爬虫领域。Python中的Selenium模块提供了简单易用的API,能够模拟真实用户在浏览器上的操作行为...
3. 翻页后,通过网页下载器获取当前页面的源代码。 4. 将获取的源代码提交给网页解析器,解析并提取目标数据。 5. 提取的数据保存到数据库中,供后续处理。 在这一过程中,爬虫程序需要判断目标内容是否已经加载...
6. 获取页面源代码:`pageSource ()[[1]]` 7. 关闭浏览器会话:`remDr$close()` RSelenium提供了丰富的函数来模拟用户交互,如`sendKeysToElement()`用于输入文本,`clickElement()`用于点击,`executeScript()`...
WebElement resultElement = driver.findElement(By.cssSelector("h1")); String resultText = resultElement.getText(); System.out.println(resultText); assert(resultText.contains("Selenium")); } ``` 4....
例如,"fileinfo.txt"可能包含了关于文件的信息,而其他以哈希值命名的.txt文件可能是项目中的源代码文件或者测试脚本,每个文件可能代表一个特定的功能或者测试用例。 在实际应用中,使用PHP WebDriver Bindings时...
1. **元素定位**:在Selenium中,我们可以通过不同的定位策略找到网页上的元素,如`By.id()`, `By.name()`, `By.cssSelector()`, `By.xpath()`等。理解这些定位方法对于编写高效的测试脚本至关重要。 2. **等待策略...
项目中的"a.txt"可能是抓取到的商品信息存储文件,而"java"可能是项目中使用Java语言编写的源代码。在Java中,Selenium的用法与Python类似,只是语法略有不同。 总结来说,"selenium爬取京东商品信息"项目主要涉及...
这一步骤可能需要使用selenium的`find_element_by_css_selector()`方法。 pymongo则是Python的一个MongoDB驱动,用于与MongoDB数据库交互。MongoDB是一种NoSQL数据库,适合存储非结构化或半结构化的数据,如网页...
2. **Selenium API**:了解Selenium的Java API是至关重要的,包括各种元素定位器(如By.id, By.name, By.cssSelector等)以及操作元素的方法(如click(), sendKeys()等)。 3. **TestNG或JUnit**:Java测试框架...
Selenium提供了多种方法来定位页面上的元素,例如`By.id`, `By.name`, `By.className`, `By.xpath`, `By.cssSelector`等。理解这些定位策略对于编写精确的测试脚本至关重要。XPath和CSS选择器在处理复杂或动态生成...