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

xpath selector vs. css selector

阅读更多
    在无侵入性的前台页面控件设计方案中, 我们需要一种简便的方法迅速定位页面中的某一节点(dom node). 使用xpath是非常诱人的一个技术选择, 但是在实际使用中, 我们却发现xpath并不是那么方便. xpath的能力非常强大, 它支持绝对定位, 例如//input[@id='3'], 也支持相对定位, 例如 ./input[0], 甚至支持根据节点内容定位, 例如//a[contains(., 'partial text')].
    问题是在一个复杂的界面控件中, html节点本身的结构与界面展现结构并不是一致的,例如一个特定效果的边框可能需要多个html元素互相嵌套才能够实现, 因此xpath的相对路径选择能力往往派不上用场(除非是提供http://www.backbase.com/那 样的界面抽象层), 而根据内容定位的方式过于灵活, 难以维护一个稳定的概念层. 相比较而言, css的选择符所提供的节点定位方式要比xpath更加简单直观, 它的适用性也早已在大量的实践中得到了证实. 基于css选择符实现behaviour机制是一种更加可行的方案. 参见 http://prototype.conio.net/
分享到:
评论

相关推荐

    WebDriver xpath css selector

    根据提供的文件内容,本文将详细解释WebDriver、xpath、css selector的使用以及如何在自动化测试中选择页面元素。首先,我们需要理解WebDriver是一个自动化测试工具,用于Web应用程序的测试。它可以通过各种编程语言...

    jquery CSS和xpath选择器.pdf

    《jQuery CSS和XPath选择器详解》 jQuery是一个广泛使用的JavaScript库,它的核心功能之一就是强大的选择器引擎。这个引擎不仅支持CSS1-3的选择器语法,还兼容XPath选择器,并在此基础上进行了扩展,使得开发者能更...

    XPath基础.docx

    在Scrapy中,你可以使用`response.xpath(expression).extract()`或`response.css(selector).extract()`来提取数据,其中`expression`是XPath表达式,`selector`是CSS选择器。XPath的灵活性和强大功能使得它成为...

    jQuery整理知识

    其中,`selector` 是 CSS 或 XPath 选择器,用于选取 HTML 元素;`action()` 是要对选中的元素执行的操作。 #### 二、元素选择 jQuery 提供了丰富的选择器,用于选取文档中的元素。这包括但不限于: - `$("p")`:...

    SelectorGadget CSS选择器

    SelectorGadget是一款强大的浏览器插件,专为网页开发者和设计师设计,主要功能是自动化生成CSS选择器。在网页开发过程中,我们经常需要精确地定位HTML元素以便进行样式修改或JavaScript操作,而SelectorGadget则能...

    Xpath和CSS的比较.docx

    css_element = driver.find_element_by_css_selector(".capital.huge-city") css_element.send_keys("New Text") # 关闭浏览器 driver.quit() ``` 综上所述,Xpath和CSS选择器各有优势,掌握两者能帮助我们在...

    css-selector:CssSelector组件将CSS选择器转换为XPath表达式

    Symfony的CssSelector组件正是为了将CSS选择器转换为XPath表达式而设计的。它基于Python的cssselect库,这个库实现了W3C CSS Selectors Level 3的大部分功能,并遵循BSD许可证。通过这个组件,开发者可以轻松地在...

    谷歌浏览器插件 SelectorsHub 编写和验证xpath、cssSelector、Playwright

    它可以作为智能编辑器来编写和验证xpath、cssSelector、Playwright选择器、jQuery和JSPath。SelectorHub还可以用于自动生成唯一的#xpath、css选择器和所有可能的选择器。 but,毕竟是机器生成的,路径有时候不是很...

    CssSelector组件将CSS选择器转换为XPath表达式。-PHP开发

    CssSelector组件CssSelector组件将CSS选择器转换为XPath表达式。 资源文档贡献报告问题,并在Symfony主存储库中发送拉取请求CssSelector组件CssSelector组件将CSS选择器转换为XPath表达式。 资源文档贡献报告问题,...

    scrapy爬虫之CSS选择器(比前面两个更全)

    在Scrapy中,`Selector`类提供了对文档进行解析和提取数据的功能,而CSS选择器就是其主要的数据定位手段。使用CSS选择器,你可以像操作网页样式一样定位到需要抓取的元素。例如,你可以通过`response.css()`方法来...

    获取网页上 xpath , css 路径的插件, 方便爬虫、自动化测试相关软件工作者快速获取页面上html元素路径

    例如,给定的"xpath-selector-master"可能是一个这样的插件,它提供了直观的界面,用户只需点击页面上的元素,插件就会自动生成相应的XPath和CSS选择器路径。这极大地提升了工作效率,使得开发者和测试人员能更专注...

    scrapy爬虫下CSS的使用

    它基于`lxml`库,提供了类似XPath和CSS选择器的功能。CSS选择器语法简洁,易于理解和使用,特别适合于对HTML文档进行结构化数据的提取。 首先,我们需要导入Scrapy中的`Selector`。在Scrapy的`Item`定义或者`Spider...

    xPath To CSS Selector-crx插件

    "XPath To CSS Selector"是一款Chrome扩展程序,专为开发者设计,旨在方便地将XPath表达式转换成相应的CSS选择器。这在处理那些使用XPath更为方便,但目标环境或库仅支持CSS选择器的情况下尤其有用。 XPath表达式...

    Python库 | appium_selector-1.0.14.tar.gz

    传统的Appium可能需要通过XPath、CSS选择器等方式来定位UI元素,这在复杂的移动应用中可能会变得困难。而`appium_selector`提供了更为直观和灵活的选择器,例如可以根据元素的文本、属性、位置等特征进行查找,大大...

    scrapy中xpath示例用法

    - 使用`Selector.remove()`或`Selector.extract()`来过滤不需要的元素。 - 跟踪链接(Link Extractors)结合XPath进行深度爬取。 6. **XPath性能优化** - 避免使用过于复杂的XPath表达式,这可能导致解析速度变...

    Locator : XPath/CSS Selector-crx插件

    语言:English (United States) 定位器在单击时生成,验证并复制xpath / css选择器。...当用户选择的属性和文本内容不包含在元素/元素的父元素/元素的兄弟元素中时,将生成Absolute XPath / CSS Selector。

    基于Python pyqt5的HTTP测试工具源代码,支持正则表达式、XPATH、CSS selector匹配文本

    用户可以输入URL、选择HTTP方法,设置参数,并通过正则表达式、XPATH或CSS选择器来验证返回内容。 PyQT5库提供了丰富的组件,如QLineEdit(文本输入框)、QPushButton(按钮)、QTextEdit(文本编辑区)等,用于...

    Selenium WebDriver 学习笔记

    - **CSS Selector**:`driver.findElement(By.cssSelector("selector"))` - **XPath**:`driver.findElement(By.xpath("xpathExpression"))` 其中,**CSS选择器**和**XPath**是比较灵活的选择方式,可以根据不同的...

    YuNetsurf v3.0.0 for D6-XE10 HTML5 CSS 解析

    LibXml2 tree: Fully compatible with LibXml2 functions, including XPATH and LibXslt transformation. XDOM tree: Feasability study limited by XDOM restrictions. Fast, efficient, and low memory usage. ...

    xpath css cheat sheet by 灰蓝.pdf

    《xpath css cheat sheet by 灰蓝.pdf》为自动化测试人员提供了一个速查表,帮助他们迅速掌握使用XPath和CSS选择器来定位页面元素的技巧。本文将详细解释该速查表中包含的知识点。 首先,XPath是XML路径语言,它...

Global site tag (gtag.js) - Google Analytics