問題描述
我正在嘗試單擊類名等于 "clean right"
的以下元素:
I'm trying to click on the following element with the class name equals "clean right"
:
<li class="clean right"></li>
如何使用 driver.find_element_by_class_name()
推薦答案
你不能通過 find_element_by_class_name()
傳遞多個類名作為參數(shù),這樣做你會遇到如下錯誤:
You can't pass multiple classnames as argument through find_element_by_class_name()
and doing so you will face an error as:
invalid selector: Compound class names not permitted
<小時>
有多種方法可以解決此用例,您可以使用以下任一方法定位器策略:
如果元素僅通過
classname
clean
唯一標識,您可以使用:
If the element is uniquely identified only through the
classname
clean
you can use:
driver.find_element_by_class_name("clean")
如果元素僅通過 classname
right
唯一標識,您可以使用:
If the element is uniquely identified only through the classname
right
you can use:
driver.find_element_by_class_name("right")
如果 classnames
、clean
和 right
都是強制標識元素,你可以使用 css-選擇器如下:
driver.find_element_by_css_selector("li.clean.right")
您也可以使用 xpath 如下:
driver.find_element_by_xpath("http://li[@class='clean right']")
無效選擇器:復(fù)合類名稱不允許使用 Selenium 的錯誤
通過多個類名查找 div 元素?
這篇關(guān)于如何使用 Selenium 和 Python 定位具有多個類名的元素的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!