css选择器第一个子元素的用法 css中常用的伪类选择器

了解前端知识的人应该对css比较熟悉。它用于为html页面添加样式和布局。css的定位包括类、ID选择器、元素属性选择器和伪类。其实selenium的css定位和页面的css语法很像,都是异卵双胞胎的意思。为什么不是同卵双胞胎?因为他们之间还是有一些区别的。现在我们来具体研究一下。...

了解前端知识的人应该对css比较熟悉。它用于为html页面添加样式和布局。css的定位包括类、ID选择器、元素属性选择器和伪类。其实selenium的css定位和页面的css语法很像,都是异卵双胞胎的意思。为什么不是同卵双胞胎?因为他们之间还是有一些区别的。现在我们来具体研究一下。

1。通过属性定位元素

CSS选择器可以通过元素的id、class和tag这三个常规属性直接定位目标元素。

例如:

<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 (1)#表示id属性 #id属性值 例如: #telA (2).表示class属性 .class属性值 例如: .telA (3)其他属性 [属性名=属性值] 例如: [name=telA]3.需求 在页面中,使用css定位电话A输入框'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4.定位电话A标签,使用css selector# 4.1 通过id定位telA_1 = driver.find_element_by_css_selector("#telA")print(telA_1.get_attribute("outerHTML"))# 4.2 通过class属性定位telA_2 = driver.find_element_by_css_selector(".telA")print(telA_2.get_attribute("outerHTML"))# 4.3 通过其他属性定位telA_3 = driver.find_element_by_css_selector("[name='telA']")print(telA_3.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value=""><input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value=""><input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''

2。通过标签定位元素

例如:

<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 标签+属性 格式:标签名[属性名=属性值]3.需求 在页面中,使用css定位电话A输入框'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4.定位电话A标签,使用css selector# 标签+属性# 通过name属性telA = driver.find_element_by_css_selector("input[name='telA']")# 通过id属性telA_1 = driver.find_element_by_css_selector("input#telA")print(telA.get_attribute("outerHTML"))print(telA_1.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value=""><input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''

3。通过层次关系定位元素

例如:

<p id="p1"> <label for="userA">账号A</label> <input type="textA" name="userA" id="userA" placeholder="账号A" required="" value=""></p>'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 层级定位 需要使用 > 或 空格表示层级关系 格式:父标签名[父标签属性名=属性值]>子标签名3.需求 在页面中,使用css定位账号A输入框'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4.定位账号A标签,使用css selector层级定位textA_1 = driver.find_element_by_css_selector("p#p1 input")print(textA_1.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<input type="textA" name="userA" id="userA" placeholder="账号A" required="" value="">'''

4。通过索引定位元素

例如:

<div id="zc"> <fieldset> <legend>注册用户A</legend> <p id="p1"> <label for="userA">账号A</label> <input type="textA" name="userA" id="userA" placeholder="账号A" required="" value=""> </p> <p> <label for="password">密码A</label> <input type="password" name="passwordA" id="passwordA" placeholder="密码A" value=""> </p> </fieldset></div>'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 索引定位 (1)父标签名[父标签属性名=属性值]>:nth-child(索引值) 从父标签下所有标签开始计算 (2)父标签名[父标签属性名=属性值]>子标签名:nth-of-type(索引值) 表示父标签下具体标签的第几个标签3.需求 在页面中,使用css定位账号A输入框'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开注册A页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4. 使用css索引定位账号A输入框textA_1 = driver.find_element_by_css_selector("fieldset>:nth-child(2)>input")textA_2 = driver.find_element_by_css_selector("fieldset>p:nth-of-type(1)>input")print(textA_1.get_attribute("outerHTML"))print(textA_2.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<input type="textA" name="userA" id="userA" placeholder="账号A" required="" value=""><input type="textA" name="userA" id="userA" placeholder="账号A" required="" value="">'''

5。通过逻辑运算定位元素

CSS选择器还可以实现逻辑运算,同时匹配两个属性。与XPath不同,这里不需要编写和关键字。

例如:

<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 逻辑定位 格式:标签名[属性名1=属性值1][属性名2=属性值2]... 注意:属性与属性之间不能用空格3.需求 在页面中,使用css定位电话A输入框'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开注册A页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4. 使用css逻辑定位---电话A输入框# 注意:两个属性之间不能加空格,空格表示层级关系telA = driver.find_element_by_css_selector("input[type='telA'][placeholder='电话A']")print(telA.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<input type="telA" name="telA" id="telA" placeholder="电话A" class="telA" value="">'''

6。通过模糊匹配定位元素

css_selector有三种模糊匹配方法。

到id属性值的头,比如ctrl_12

driver.find_element_by_css_selector("input[id^='ctrl']")

到id属性值的末尾,如a_ctrl

driver.find_element_by_css_selector("input[id$='ctrl']")

到id属性值的中间,如1_ctrl_12

driver.find_element_by_css_selector("input[id*='ctrl']")'''1.学习目标: 必须掌握selenium中css定位方法2.语法 2.1 在selenium中语法 (1)driver.find_element_by_css_selector("css选择器定位策略") (2)driver.find_elements_by_css_selector("css选择器定位策略") 2.2 css表达式写法 模糊匹配:匹配属性值 (1)* :匹配所有 (2)^ :匹配开头 (3)$ :匹配结尾3.需求 在页面中,使用css定位注册用户A按钮'''# 1.导入seleniumfrom selenium import webdriverfrom time import sleepimport os# 2.打开浏览器driver = webdriver.Chrome()# 3.打开注册A页面url = "file:///" + os.path.abspath("./练习页面/注册A.html")driver.get(url)# 4. 使用css模糊匹配定位---注册用户A按钮button_1 = driver.find_element_by_css_selector("button[type^='su']")print(button_1.get_attribute("outerHTML"))button_2 = driver.find_element_by_css_selector("button[value$='册A']")print(button_2.get_attribute("outerHTML"))button_3 = driver.find_element_by_css_selector("button[title*='入会']")print(button_3.get_attribute("outerHTML"))# 5.关闭浏览器sleep(2)driver.quit()'''输出结果:<button type="submitA" value="注册A" title="加入会员A">注册用户A</button><button type="submitA" value="注册A" title="加入会员A">注册用户A</button><button type="submitA" value="注册A" title="加入会员A">注册用户A</button>'''

本文来自永远太远投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/507016.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-16
下一篇 04-16

相关推荐

  • 个体户营业执照有哪些行业选择 个体户行业详细介绍

    随着大量新个体经济的出现,除了国家的大力倡导,很多企业设计的商业模式早已针对新个体,但很多人并不知道什么是新个体。实际上,新个体是相对于旧个体而言的。老个体户指的是80年代初的样子。由于长期的规范化发展,现在大部分都注册了自己的营业执照。老个人包括开店、搬运

    2023-07-29 10:09:01
    995 0
  • 怎么找正规的侦探公司 选择正规侦探公司的技巧

    随着现代社会的快速发展,人们生活水平的逐步提高,环境和欲望也在不断变化,尤其是婚姻的背叛,给很多家庭带来了不幸。当我们需要调查取证的时候,如何才能找到一家靠谱的侦探公司来帮忙呢?成都夜探公司的罗探长从他12年的经验出发,向记者总结道:1.可靠的侦探公司肯定会邀

    2023-07-26 08:17:01
    917 0
  • win10自带虚拟机怎么使用 虚拟机win10版本选择

    HyperV作为微软最新操作系统windows10中的新特性之一,不仅简单易用,而且不会像其他虚拟机那样占用大量内存。大多数人不太了解虚拟机这个名字,甚至不知道它是用来做什么的。但是虚拟机确实给我们带来了很大的便利。虚拟机是一个完整的计算机系统,具有完整的硬件系统功能,

    2023-07-26 00:52:01
    698 0
  • 奔驰C260L新车报价2022款 35万预算你会选择它吗

    想必奔驰已经是大家耳熟能详的汽车品牌了。它的全称是梅赛德斯-奔驰,是一个德国豪华汽车品牌,被认为是世界上最成功的高端汽车品牌之一。其代表车型有A系列、B系列、C系列、G系列等。在入门级豪华系列中,奔驰c绝对是不得不提的一个系列。即使这款车被网友称为“买标送车”,

    2023-07-24 10:49:01
    187 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信