微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium类名称不允许

如何解决selenium类名称不允许

Leon的评论提出了正确的信息,即不再支持复合类名称。相反,您可以尝试使用CSS选择器。在您的情况下,以下代码行应帮助您获取所需的元素:

el3 = driver.find_element_by_css_selector(".action-btn.cancel.alert-display")

它在class属性中找到具有所有三个类(action-btn,cancel和alert- display)的元素。请注意,类的顺序在这里无关紧要,任何类都可以出现在class属性的任何位置。只要元素具有所有三个类,就将其选中。如果要固定类的顺序,则可以使用以下xpath:

el3 = driver.find_element_by_xpath("//*[@class='action-btn cancel alert-display']")

解决方法

我有下面的代码,单击一个元素以弹出一个屏幕并在其中复制文本

el1 = driver.find_element_by_id("keyDev-A")
el1.click()
el2 = driver.find_element_by_class_name("content")
print(el2.text)

但是,当我尝试selenium单击该弹出窗口中的按钮时,

el3 = driver.find_element(By.CLASS_NAME,"action-btn cancel alert-display")
el3.click()

它产生一条错误消息: invalid selector: Compound class names not permitted

这是我selenium要单击的HTML 。该Close按钮。

<div class="nav">
    <span class="action-btn confirm prompt-display">Confirm</span>
    <span class="action-btn cancel prompt-display">Cancel</span>
    <span class="action-btn cancel alert-display">Close</span>
</div>

我应该怎么写el3才能单击关闭按钮?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。