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

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

css选择器第一个子元素用法_css中常用的伪类选择器 了解过前端知识的人,应该对css熟悉。


它是用于给html页面添加样式和布局的,css的定位包括class,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不一样,无需写and关键字例如:<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_12driver.find_element_by_css_selector("input[id^='ctrl']")匹配到id属性值的尾部,如a_ctrldriver.find_element_by_css_selector("input[id$='ctrl']")匹配到id属性值的中间,如1_ctrl_12driver.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>'''

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/644982.html

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

发表评论

登录后才能评论

评论列表(0条)

保存