gpt4 book ai didi

python-3.x - 选择器无效:使用Selenium,不允许使用复合类名称错误

转载 作者:行者123 更新时间:2023-12-03 16:59:06 25 4
gpt4 key购买 nike

我正在尝试通过webWhatsapp从聊天中打印我的消息之一。

我可以通过“控制台”选项卡中的Javascript完成此操作

recived_msg = document.getElementsByClassName('XELVh selectable-text invisible-space copyable-text') // returns an array of the chat
recived_msg[5].innerText // shows me the 4th message content


问题是我试图在python上做同样的事情,但对我不起作用。

这是我尝试过的:

from selenium import webdriver
recived_msg = driver.find_element_by_class_name('XELVh selectable-text invisible-space copyable-text')
final = recived_msg[5].innerText #doesnt work for some reason


我收到的错误是:消息:无效的选择器:不允许使用复合类名

我对javascript有点陌生,所以很抱歉造成误会,并感谢您的帮助! :)

最佳答案

根据selenium.webdriver.common.by实现的文档:

class selenium.webdriver.common.by.By
Set of supported locator strategies.

CLASS_NAME = 'class name'


所以,


使用 find_element_by_class_name()您将无法传递多个类名。
传递多个类,您将面临以下错误:

Message: invalid selector: Compound class names not permitted

另外,由于要返回聊天数组,因此需要使用 find_element*代替 find_elements*






或者,您可以使用以下 Locator Strategies之一:


CSS_SELECTOR

recived_msg = driver.find_elements_by_css_selector(".XELVh.selectable-text.invisible-space.copyable-text")

XPATH

recived_msg = driver.find_elements_by_xpath("//*[@class='XELVh selectable-text invisible-space copyable-text']")

关于python-3.x - 选择器无效:使用Selenium,不允许使用复合类名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53528072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com