如何使用Selenium和Python查找具有多个类名的元素 [英] How to locate an element with multiple classnames using Selenium and Python
问题描述
我正在尝试单击以下类名称为"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()
传递多个类名作为参数,这样做将导致错误:
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
有多种方法可以解决此用例,您可以使用以下 如果仅通过 If the element is uniquely identified only through the 如果仅通过 If the element is uniquely identified only through the 如果 您也可以使用xpath 如下: classname
clean
唯一标识元素,则可以使用:
classname
clean
you can use:driver.find_element_by_class_name("clean")
classname
right
唯一标识元素,则可以使用:classname
right
you can use:driver.find_element_by_class_name("right")
类名
, clean
和 right
都相同强制性地标识元素,您可以使用 css-选择器如下:driver.find_element_by_css_selector("li.clean.right")
driver.find_element_by_xpath("//li[@class='clean right']")
这篇关于如何使用Selenium和Python查找具有多个类名的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!