Selenium Python 通过 data-testid="menu" 查找跨度

Selenium Python find span by data-testid="menu"

我是 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>

我已经尝试了几种方法来做到这一点,例如我 post 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)

有人可以帮我解决这个问题吗?

为什么那里有 'self' 和那些反斜杠?我会说你的第二次尝试接近正确,但使用 xpath,而不是 CSS 选择器,并且不要忘记 'span':

之前的两个正斜杠
menu = driver.find_element_by_xpath("//span[@data-testid='menu']")