首页 > 解决方案 > 如何修复硒中的点击元素问题

问题描述

我正在尝试用硒制作一个 instagram 机器人,我必须在 instagram 上访问,为此我写了这个

 def login(self):
        self.broswer.get("https://www.instagram.com/accounts/login/")
        WebDriverWait(self.broswer, 10).until(lambda d: d.find_element_by_xpath(PATH_ACCESS_BUTTON).is_displayed())
        username_input = self.broswer.find_element_by_name(NAME_USERNAME_BAR)
        username_input.send_keys(self._username)

        password_input = self.broswer.find_element_by_name(NAME_PASSWORD_BAR)
        password_input.send_keys(self._password)
        WebDriverWait(self.broswer, 5).until(lambda d: d.find_element_by_xpath(PATH_ACCESS_BUTTON).is_displayed())
        WebDriverWait(self.broswer, 5).until(EC.element_to_be_clickable((By.XPATH, PATH_ACCESS_BUTTON)))

        access_button = self.broswer.find_element_by_xpath(PATH_ACCESS_BUTTON)
        access_button.click()

我已经确定我使用的 thexpath和 theelement names是正确的,实际上浏览器找到了它们,问题是当代码在 instagram 登录页面中写入用户名和密码时,如果浏览器窗口在桌面前台如果浏览器窗口被其他应用程序覆盖,或者如果它在另一个 dsktop 页面中,则单击登录按钮,否则未单击访问按钮。

我也试过在无头模式下运行这段代码,它可以工作,所以我不明白问题出在哪里

(我在移动模式下启动浏览器并且代码没有出现错误)

我正在与python3

操作系统:windows

浏览器:chrome

标签: pythonselenium

解决方案


我认为这是可能的唯一方法是无头。如果应用程序以其他方式运行,您将无法继续正常使用桌面。:)


推荐阅读