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']")
我是 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']")