当前位置:网站首页>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")
边栏推荐
- [node] NVM version management tool
- SD_ CMD_ RECEIVE_ SHIFT_ REGISTER
- 行测--资料分析--fb--高照老师
- Database SQL practice 3. Find the current salary details of the current leaders of each department and their corresponding department number Dept_ no
- Database SQL practice 4. Find the last of employees in all assigned departments_ Name and first_ name
- 【obs】x264编码:“buffer_size“
- 2022.06.27_ One question per day
- docker安装mysql并使用navicat连接
- (top) pretty girl binary color code portal
- golang定时器使用踩的坑:定时器每天执行一次
猜你喜欢
[software testing] 03 -- overview of software testing
HDU1231 最大连续子序列(分治or动规or双指针)
What if the DataGrid cannot see the table after connecting to the database
Netease to B, soft outside, hard in
Mathematical analysis_ Notes_ Chapter 8: multiple integral
PHY drive commissioning - phy controller drive (II)
Target detection series - detailed explanation of the principle of fast r-cnn
【Node】nvm 版本管理工具
IPage能正常显示数据,但是total一直等于0
docker安装mysql并使用navicat连接
随机推荐
【无标题】
What is soda?
IPage能正常显示数据,但是total一直等于0
一文揭开,测试外包公司的真实情况
IPage can display data normally, but total is always equal to 0
[untitled]
Rough notes of C language (2) -- constants
golang定时器使用踩的坑:定时器每天执行一次
Reading literature sorting 20220104
[vscode] recommended plug-ins
How to delete the virus of inserting USB flash disk copy of shortcut to
SD_ CMD_ RECEIVE_ SHIFT_ REGISTER
DataGrid offline installation of database driver
[OBS] x264 Code: "buffer_size“
Executealways of unity is replacing executeineditmode
Basic series of SHEL script (II) syntax + operation + judgment
Cookie operation
And let's play dynamic proxy (extreme depth version)
U-Boot初始化及工作流程分析
Chapter 2: try to implement a simple bean container