". If an element is inside another element (child element or grandchild element), it is defined using "//" in XPATH and only whitespace in CSS."/> ". If an element is inside another element (child element or grandchild element), it is defined using "//" in XPATH and only whitespace in CSS.">

Home  >  Article  >  Web Front-end  >  What is the difference between xpath positioning and css positioning?

What is the difference between xpath positioning and css positioning?

青灯夜游
青灯夜游Original
2021-02-22 15:25:047346browse

Difference: 1. Direct child elements in XPATH are defined using "/", while on CSS, they are defined using ">". If an element is inside another element (child element or grandchild element), it is defined using "//" in XPATH and only whitespace in CSS.

What is the difference between xpath positioning and css positioning?

The operating environment of this tutorial: windows7 system, css3 version, Dell G3 computer.

xpath common positioning methods

What is the difference between xpath positioning and css positioning?

Comparison between xpath positioning and css positioning

xpath positioning and css positioning are commonly used in actual projects. XPath is the syntax for finding nodes in XML documents. In other words, you can find this element through its path. Xpath is more powerful, while CSS selector is better in performance, runs faster, and has simpler syntax. Compare the two methods:

Direct child elements

Direct child elements in XPATH are defined using "/", while on CSS, it is defined using "> ;"Defined.

XPATH://div/input
CSS: div>input

Descendant elements

If an element is inside another element (child element or grandchild element), it is defined using "//" in XPATH, In CSS, only spaces are used.

XPATH://div//input
CSS: div input

ID positioning

The element id in XPATH is defined using the following content: "[@id='kw']", while in CSS it is used: "# kw".

XPATH://input[@id='kw']
CSS: input#kw

[Recommended tutorial: CSS video tutorial]

CLASS positioning

For class attributes, XPATH is similar to id, and Represented by a dot in CSS.

XPATH://input[@class="s_ipt"]
CSS: input.s_ipt

Little brother element: following-sibling step-sibling

This is useful for form elements, which are the next adjacent elements on the page that are within the same parent node.

XPATH://input[@class="s_ipt"]/following-sibling::a
CSS:input[class="s_ipt"]+a

Brother element: preceding-sibling Previous brother

The previous adjacent element in the page that is located in the same parent node.

XPATH://a[@name='tj_baike']/preceding-sibling::a
CSS:无法实现

What is the difference between xpath positioning and css positioning?

Parent node element

The superior element of a node in the page.

XPATH: //input/parent
CSS: 无法实现

Attribute value

We can position elements based on any attribute value.

XPATH: //input[@name='username']
CSS: input[name='username']

Multiple attribute values

We can even locate elements through multiple attributes.

XPATH: //input[@name='rsv_spt' and @value="1"]
CSS: input[name='login'][type='submit']

First child element

XPATH: //div[@id='u1']/a[1]
CSS: div#u1 a:first-child

Last child element

XPATH: //div[@id='u1']/a[last()]
CSS: div#u1 a:last-child

Second child element

XPATH: //div[@id='u1']/a[2]
CSS: div#u1 a:nth-child(2)

Fuzzy match

selenium中允许使用^=,$=或*=进行部分字符串匹配。

^=Match prefix

XPATH: input[starts-with(@id,'user')]
CSS: input[id^='user']

$=Match suffix

XPATH: input[ends-with(@id,'name')]
CSS: input[id$='name']

*=The match contains

XPATH: input[contains(@id,'sernam')]
CSS: input[id*=sernam]

For more programming-related knowledge, please visit: Programming Video! !

The above is the detailed content of What is the difference between xpath positioning and css positioning?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn