python+selenium4--Css语法定位元素

python+selenium4--Css语法定位元素

 

常见符号:

 

#表示 id选择器
.表示 class选择器
>表示子元素,层级
一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径

 

from selenium import webdriver
from time import sleep


driver = webdriver.Firefox()
driver.get('http://www.baidu.com')
driver.implicitly_wait(10)


#通过id定位  #表示id
driver.find_element_by_css_selector("#kw").send_keys("1111")

#通过class定位   .表示class
driver.find_element_by_css_selector(".s_ipt").send_keys("css定位")

#通过标签定位和id组合定位
driver.find_element_by_css_selector("input#kw").send_keys("ccc")

#通过层级关系定位 > 表示上下级
driver.find_element_by_css_selector("form#form>span>input#kw").send_keys("css")

#其他属性定位 需要加[]
# <input id="kw" class="s_ipt" autocomplete="off" maxlength="255" value="" name="wd"/>

driver.find_element_by_css_selector("[autocomplete='off']").send_keys("xxx")
driver.find_element_by_css_selector("[maxlength='255']").send_keys("xxx")
driver.find_element_by_css_selector("[name='wd']").send_keys("xxx")

#css也可以通过索引nth-child(1)来定位子元素,直接翻译过来就是第几个小孩

driver.find_element_by_css_selector(".mnav:nth-child(2)").click()
# nth-of-type(3)
 
driver.find_element_by_css_selector("a.mnav:nth-of-type(3)").click()

#同时满足两个属性 driver.find_element_by_css_selector("[autocomplete='off'][name='wd']").send_keys("Xxx") sleep(3) driver.close()

 

posted @ 2020-09-20 22:43  莫使娇躯空对月  阅读(443)  评论(0编辑  收藏  举报