Selenium Python通过datatestid=“菜单”查找span

2024-03-29 14:35:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我是selenium的新手,为了学习,我尝试进入Whatsapp网站,从对话中下载图片。。。这个想法来自于网络上的一些教程,但它们不起作用。 我正在使用python 3.8

我需要按一个按钮打开菜单,它由

    <span data-testid="menu" data-icon="menu" class="">
       <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
          <pathfill="currentColor" d="M12 7a2 2 0 1 0-.001-4.001A2 2 0 0 0 12 7zm0 2a2 2 0 1 0-.001 3.999A2 2 0 0 0 12 9zm0 6a2 2 0 1 0-.001 3.999A2 2 0 0 0 12 15z"></path>
       </svg>
    </span>

我尝试了几种方法来实现这一点,例如我发布了2次尝试:

    menu = self.driver.find_element_by_xpath("//span[@data-testid= \"menu\"]")
    menu = self.driver.find_element_by_css_selector("span[@data-testid='menu']")
    menu = self.driver.find_element_by_xpath("//div[@title= \"menu\"]/span")

编辑: 我收到的错误消息是:

Message: no such element: Unable to locate element: {"method":"xpath","selector":"//span[@title= "menu"]"}
  (Session info: chrome=86.0.4240.111)

有人能帮我解决这个问题吗


Tags: svgselfa2databytitledriverselenium
1条回答
网友
1楼 · 发布于 2024-03-29 14:35:28

为什么你有“自我”和那些反斜杠?我想说您的第二次尝试几乎是正确的,但是请使用xpath,而不是CSS选择器,并且不要忘记“span”之前的两个正斜杠:

menu = driver.find_element_by_xpath("//span[@data-testid='menu']")

相关问题 更多 >