首页 > 解决方案 > 如何在 selenium Python 中单击基于移动网站的菜单项?

问题描述

所以,我正在为 Google Play 商店(来自计算机的网站)做一些自动化。

这是我要点击的元素。

这是当我们单击评论一侧的 3 个点时打开的菜单。然后我必须单击这 3 个菜单选项之一。我无法在这三个项目中的任何一个上使用 .click() 函数。menu 的所有这 3 个 span 元素都包含在一个 div 父级中。

当我使用

element = driver.find_element_by_xpath('/html/body/div[1]/div[4]/c-wiz/div/div[2]/div/div/main/div/div[1]/div[3]/div/div[2]/div[1]/div[2]/div/div[2]/div[2]/div/div/div/span[2]/div[2]')
element.click()

它给:

ElementNotInteractableException: Message: Element <div class="uyYuVb oJeWuf"> could not be scrolled into view

我试图单击跨度,以及它的子元素,如 divdisplay:flex也有最后一个 div 子元素。但他们都给出了同样的例外。我知道 Play Store 主要用于移动设备,因此它显示了移动元素的属性。那么单击这三个选项中的任何一个的适当方法是什么?

这是链接

标签: pythonpython-3.xseleniumweb-scrapingautomation

解决方案


我认为使用 selenium 无法单击像这样的跨度。但是我认为您应该尝试在屏幕上获取此跨度的位置,以便您可以使用以下模块单击它pyautogui

import pyautogui
pyautogui.click(x=positionx, y=positiony)

这是我找到的唯一解决方案,我希望您不必在程序中花费大量时间,因为它重复且烦人(查找 x 和 y 位置)


推荐阅读