recherche
Maisoninterface Webtutoriel CSSCe que vous devez savoir sur Selenium en utilisant le résumé de positionnement CSS

Cet article vous apporte des connaissances pertinentes sur l'utilisation par Selenium du résumé du positionnement CSS. Le positionnement CSS est plus rapide et la syntaxe est plus simple. J'espère qu'il sera utile à tout le monde.

Ce que vous devez savoir sur Selenium en utilisant le résumé de positionnement CSS

La plupart des gens utilisent le positionnement XPath lorsqu'ils utilisent Selenium pour positionner des éléments. En fait, le positionnement CSS a également sa valeur. Il est plus rapide et la syntaxe est plus concise. Symboles courants :
# représente le sélecteur d'identifiant

. représente le sélecteur de classe

> représente les éléments enfants, les niveaux


Un espace représente également les éléments enfants, mais tous les éléments enfants descendants, équivalent à xpath Le chemin relatif de

2. CSS : positionnement de l'attribut css peut être directement positionné sur

如下是百度输入框的的html代码:
<input>
css via les trois attributs réguliers de l'identifiant, de la classe et de l'étiquette de l'élément. Utilisez le signe # pour représenter l'attribut id, tel que : #kw

Utilisez css. Indique l'attribut de classe, tel que : .s_ipt

css utilise directement le nom de la balise sans aucun identifiant, tel que : input

3. CSS : d'autres attributs


css peuvent être positionnés à travers les trois attributs conventionnels de tag, class et id, ou il peut se positionner via d'autres attributs

以下是定位其它属性的格式[name=wd] [autocomplete='off'][maxlength='255']
4. CSS : étiquette

css peut localiser des éléments grâce à la combinaison de balises et d'attributs

input.s_ipt input#kw input[id='kw']
5. CSS : relation hiérarchique

//form的id属性form#form>span>input
//form的class属性form.fm>span>input

6. CSS : index

css peut également être localisé via les sous-éléments de positionnement de l'index

Select控件第三个Opel
#select>select>option:nth-child(3)CheckBox第一个Volvo
#checkbox>input:nth-child(1)CheckBox第二个Saab
#checkbox>input:nth-child(4)RadioBox第二个Saab
#radio>input:nth-child(4)

7. CSS : opérations logiques

css peut également implémenter des opérations logiques et faire correspondre deux attributs en même temps, ce qui est différent de xpath

[type='checkbox'][name='checkbox1']

8. Exemple de zone de recherche Baidu

Obtenir la recherche Baidu Examinons de plus près le positionnement CSSCe que vous devez savoir sur Selenium en utilisant le résumé de positionnement CSS Zone de saisie de positionnement

Positionnement d'attribut unique

type selector
driver.find_element_by_css_selector('input')id 定位
driver.find_element_by_css_selector('#kw')class 定位
driver.find_element_by_css_selector('.s_ipt')其他属性定位
driver.find_element_by_css_selector('[name='wd']')driver.find_element_by_css_selector("[type='text']")

Positionnement d'attribut combiné

id组合属性定位
driver.find_element_by_css_selector("input#kw")class组合属性定位
driver.find_element_by_css_selector("input.s_ipt")其他属性组合定位
driver.find_element_by_css_selector("input[name='wd']")仅有属性名,没有值也可以
driver.find_element_by_css_selector("input[name]")两个其他属性组合定位
driver.find_element_by_css_selector("[name='wd'][autocomplete='off']")
9 En cliquant sur le bouton sur la page d'accueil de Baidu à titre d'exemple
. Méthode de valeur d'attribut de correspondance floue

1>属性值由多个空格隔开,匹配其中一个值的方法
driver.find_element_by_css_selector("input[class~='btn']")2>匹配属性值为字符串开头的方法
driver.find_element_by_css_selector("input[class^='btn']")3>匹配属性值字符串结尾的方法
driver.find_element_by_css_selector("input[class$='s_btn']")

10. CSS et Xpath La différence de positionnement

Ce que vous devez savoir sur Selenium en utilisant le résumé de positionnement CSSPositionnement des attributs

CSS

le CSS peut être directement positionné via les trois attributs réguliers de l'élément, de l'identifiant, de la classe et de l'étiquette

①. le signe # pour représenter l'attribut id, tel que :
id="kw" peut être écrit comme : #kw
② utilise css pour représenter l'attribut de classe, tel que :

class="s_ipt" peut être écrit comme. : .s_ipt
③. css utilise le nom de la balise directement sans aucun identifiant, tel que : input

Xpath
xpath peut également être transmis. Localisez l'identifiant, le nom et les attributs de classe de l'élément
① Utilisez xpath pour localiser via l'attribut id.
driver.find_element(By.XPATH, "//[@id='kw']")

②. Utilisez XPath pour localiser via l'attribut name

driver.find_element(By.XPATH,"//[@name=' wd']")
③. Utilisez XPath pour localiser via l'attribut de classe
driver.find_element(By. ']")

Autres attributs

CSS
En plus de ce qui précède, le CSS peut également être positionné via d'autres attributs

①. Le CSS est positionné via l'attribut name :
driver.find_element(By.CSS_SELECTOR,"[name='wd']" )
② Le CSS est positionné via l'attribut autocomplete :

driver.find_element(By. CSS_SELECTOR, ". [autocomplete='off']")
③.css est positionné via l'attribut type :
driver.find_element(By. CSS_SELECTOR, "[type ='text']")

Xpath
Sans les attributs ci-dessus, vous pouvez localisez-le via d'autres attributs
driver.find_element(By. Les pages CSS peuvent localiser des éléments grâce à la combinaison de balises et d'attributs
①. positions CSS grâce à la combinaison de balises et d'attributs de classe driver.find_element(By.CSS_SELECTOR, "input.s_ipt" )

②. Positions CSS grâce à la combinaison de balises et d'attributs d'identification driver.find_element(By.CSS_SELECTOR, "input#kw")

③ CSS localise driver.find_element(By.CSS_SELECTOR, "input[id='kw']. ")

Xpath

1. S'il existe de nombreux attributs portant le même nom, vous pouvez les filtrer par balises
①. Utilisez XPath pour localiser driver.find_element(By.XPATH, "//input[@autocomplete='off' ]")
②. Utilisez XPath via d'autres attributs. Localisez driver.find_element(By.XPATH,"//input[@id='kw']") via l'attribut id

③. Utilisez XPath pour localiser driver.find_element(By .XPATH,"//name[@id ='wd']")

Relation hiérarchique

CSS

Telle que : //form[@id='form']/span/input et //form[@class ='fm']/span/input

① . CSS localise driver.find_element(By.CSS_SELECTOR, "form#form>span>input") via des relations hiérarchiques
②. .fm>span>input") via des relations hiérarchiques

Xpath
1. Si les attributs d'un élément ne sont pas évidents et ne peuvent pas être localisés directement, vous pouvez d'abord trouver son élément parent, trouver l'élément parent, puis trouver le niveau suivant à localisez-le

①. Localisez l'entrée en localisant l'élément parent Input box driver.find_element(By.XPATH,"//span[@id='s_kw_wrap']/input")
② Positionnez la zone d'entrée driver.find_element. (Par. [@id='form']/span/input")
Index

CSS
1. CSS peut également localiser les éléments enfants via l'option d'index :nth-child(1)
① Sélectionnez le premier élément enfant driver.find_element(By.CSS_SELECTOR,"select#nr>option:nth -child. (1)")
②. Sélectionnez le deuxième élément enfant driver.find_element(By.CSS_SELECTOR,"select#nr>option:nth-child(2)")
③ Sélectionnez le troisième élément enfant driver.find_element( By. CSS_SELECTOR,"select#nr>option:nth-child(3)")

Xpath
1. Il peut être positionné par tri
① Utilisez XPath pour localiser la première position driver.find_element(By.XPATH,"//. select [@id='nr']/option[1]")
②. Utilisez XPath pour localiser le deuxième driver.find_element(By.XPATH,"//select[@id='nr']/option[2] " )
③. Utilisez XPath pour localiser le troisième driver.find_element(By. .CSS_SELECTOR,"input:contains('kw')")

Xpath
1. Correspondance floue puissante de XPath

2. by_partial_link, positionnement de correspondance floue
driver.find_element(By.XPATH,"//*[contains(text (),'hao123')]")

11. Résumé

Tests automatisés Il existe deux méthodes de positionnement XPATH et CSS courantes pour les tests Web. les éléments dans Python+Selenium
Le positionnement XPATH et le positionnement CSS sont très similaires, et la fonction XPATH Il est plus puissant, mais la méthode de positionnement CSS est plus rapide, mais certains navigateurs ne prennent pas en charge le positionnement CSS, et il est généralement plus courant d'utiliser XPath positionnement que CSS lors des tests automatisés

(Partage vidéo d'apprentissage :

Tutoriel vidéo CSS

)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Quelle est la spécificité de @rules, comme @keyframes et @media?Quelle est la spécificité de @rules, comme @keyframes et @media?Apr 18, 2025 am 11:34 AM

J'ai eu cette question l'autre jour. Ma première pensée est: une question étrange! La spécificité concerne les sélecteurs, et les rubriques ne sont pas des sélecteurs, donc ... non pertinents?

Pouvez-vous nist @media et @Support Queries?Pouvez-vous nist @media et @Support Queries?Apr 18, 2025 am 11:32 AM

Oui, vous le pouvez, et cela n'a pas vraiment d'importance dans quel ordre. Un préprocesseur CSS n'est pas requis. Il fonctionne dans CSS ordinaire.

Buste de cache de gorgée rapideBuste de cache de gorgée rapideApr 18, 2025 am 11:23 AM

Vous devriez à coup sûr définir des en-têtes de cache éloignés sur vos actifs comme CSS et JavaScript (et des images et polices et quoi que ce soit d'autre). Cela dit au navigateur

À la recherche d'une pile qui surveille la qualité et la complexité de CSSÀ la recherche d'une pile qui surveille la qualité et la complexité de CSSApr 18, 2025 am 11:22 AM

De nombreux développeurs écrivent sur la façon de maintenir une base de code CSS, mais peu d'entre eux écrivent sur la façon dont ils mesurent la qualité de cette base de code. Bien sûr, nous avons

Le datalist est destiné à suggérer des valeurs sans appliquer de valeursLe datalist est destiné à suggérer des valeurs sans appliquer de valeursApr 18, 2025 am 11:08 AM

Avez-vous déjà eu un formulaire qui devait accepter un petit texte arbitraire? Comme un nom ou autre chose. C'est exactement à quoi sert. Il y a beaucoup de

Conférence avant à ZurichConférence avant à ZurichApr 18, 2025 am 11:03 AM

Je suis tellement excité de me diriger vers Zurich, en Suisse pour la conférence de Front (j'adore ce nom et URL!). Je n'ai jamais été en Suisse auparavant, donc je suis excité

Construire une application sans serveur complète avec des travailleurs CloudFlareConstruire une application sans serveur complète avec des travailleurs CloudFlareApr 18, 2025 am 10:58 AM

L'un de mes développements préférés dans le développement de logiciels a été l'avènement de Serverless. En tant que développeur qui a tendance à s'enliser dans les détails

Création de routes dynamiques dans une application NuxtCréation de routes dynamiques dans une application NuxtApr 18, 2025 am 10:53 AM

Dans cet article, nous utiliserons une démo de magasin de commerce électronique que j'ai construit et déployé sur Netlify pour montrer comment nous pouvons faire des itinéraires dynamiques pour les données entrantes. C'est assez

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit