当前位置:网站首页>Selenium element positioning
Selenium element positioning
2022-07-05 07:24:00 【Live up to your youth】
summary
The most basic unit of a page is the element , Want to locate an element , We need specific information to illustrate the unique characteristics of this element . stay selenium in , Yes 8 A way to locate specific elements . As shown in the following table :
positioner Locator | describe |
---|---|
class | location class The element whose attribute matches the search value ( Compound class names are not allowed ) |
css selector | location CSS The elements that the selector matches |
id | location id The element whose attribute matches the search value |
name | location name The element whose attribute matches the search value |
link text | location link text The anchor element whose visual text exactly matches the search value |
partial link text | location link text Anchor element that matches the visual text part with the search value part . If you match multiple elements , Then select only the first element . |
tag name | Locate the element whose tag name matches the search value |
xpath | Location and XPath Elements that match the expression |
Method
Suppose our web page consists of the following parts , Make the content of the web page as simple as possible , To introduce the different methods in detail .
<ol id="vegetables">
<li class="onions"><span>Onion is a Vegetable</span></li>
<li class="tomatoes"><span>Tomato is a Vegetable</span></li>
</ol>
<ul id="fruits">
<li class="apples"><span>Apple is a Fruit</span></li>
<li class="tomatoes"><span>Tomato is a Fruit</span></li>
</ul>
according to class Attribute positioning
# Locate in web page class by tomatoes The elements of , There are two qualified web pages , But this method only returns the first
driver.find_element(By.CLASS_NAME, "tomatoes")
# If you need to return all elements , You need to use find_elements Method
driver.find_elements(By.CLASS_NAME, "tomatoes")
according to id Attribute positioning
# stay HTML Kind of , because id The same two elements do not exist , So there is no need for find_elements Method
driver.find_element(By.ID, "fruits")
according to css Selector positioning
# In this positioning mode , More powerful , More flexible positioning , But you need to master css grammar
driver.find_element(By.CSS_SELECTOR, '#fruits .tomatoes')
according to tag name location
# According to the name of the label , This is based on <li></li> Label to locate
driver.find_elements(By.TAG_NAME, "li")
according to name Attribute positioning
name Attributes are generally used in forms , Server pass name Property to get the value of a specific element .
# lookup name The attribute is inp Form for
driver.find_elements(By.NAME, "inp")
according to link text location
This positioning method requires that the content of the element exactly matches the input content .
# The positioning text is Tomato is a Vegetable All elements of
driver.find_elements(By.LINK_TEXT, "Tomato is a Vegetable")
according to partial link text location
This positioning method only needs the content of the element to match the input content to locate the corresponding element .
# The positioning text contains Tomato All elements of
driver.find_elements(By.PARTIAL_LINK_TEXT, "Tomato")
according to xpath location
# according to xpath Expression to locate the element
driver.find_elements(By.XPATH, "/ol/li")
边栏推荐
- Database SQL practice 4. Find the last of employees in all assigned departments_ Name and first_ name
- Using GEE plug-in in QGIS
- golang定时器使用踩的坑:定时器每天执行一次
- Ggplot2 drawing learning notes in R
- The difference between NPM install -g/-save/-save-dev
- Use of Pai platform
- Simple use of timeunit
- Shadowless cloud desktop - online computer
- Unity UGUI不同的UI面板或者UI之间如何进行坐标匹配和变换
- Unconventional ending disconnected from the target VM, address: '127.0.0.1:62635', transport: 'socket‘
猜你喜欢
Clickhouse database installation deployment and remote IP access
【无标题】
CADD课程学习(6)-- 获得已有的虚拟化合物库(Drugbank、ZINC)
[software testing] 06 -- basic process of software testing
PowerManagerService(一)— 初始化
2022 PMP project management examination agile knowledge points (7)
Docker installs MySQL and uses Navicat to connect
window navicat连接阿里云服务器mysql步骤及常见问题
PostMessage communication
HDU1232 畅通工程(并查集)
随机推荐
MySQL setting trigger problem
Now there are HTML files and MVC made with vs (connected to the database). How can they be connected?
[software testing] 03 -- overview of software testing
Unforgettable summary of 2021
[solved] there is something wrong with the image
Shadowless cloud desktop - online computer
Raspberry pie 4B arm platform aarch64 PIP installation pytorch
Ethtool principle introduction and troubleshooting ideas for network card packet loss (with ethtool source code download)
docker安装mysql并使用navicat连接
Simple operation with independent keys (hey, a little fancy) (keil5)
npm install -g/--save/--save-dev的区别
Hdu1232 unimpeded project (and collection)
Concurrent programming - how to interrupt / stop a running thread?
Interpretation of the earliest sketches - image translation work sketchygan
Concurrent programming - deadlock troubleshooting and handling
An article was opened to test the real situation of outsourcing companies
HDU1232 畅通工程(并查集)
C#学习笔记
Matrix and TMB package version issues in R
Today, share the wonderful and beautiful theme of idea + website address