蜜桃小茉莉 2023-03-08 09:52 采纳率: 0%
浏览 41

python selenium登录qq邮箱遇到问题

大家好~我用selenium自动填写qq邮箱用户名和密码,但是报错了,我的流程是这样的,首先点击页面的QQ登录按钮:

img

然后页面会出现我已经登陆的微信头像,但是我并不想选择点击头像登录,我想点击下面的账号密码登录:

img

然后我再定位输入框,输入账号和密码,全文如下:


```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
browser = webdriver.Chrome()
browser.get('https://mail.qq.com')
sleep(5)
qqlogin = browser.find_element(By.ID, 'qqLoginTab')  #QQ登录
qqlogin.click()
sleep(5)
try:
    name = browser.find_elements(By.TAG_NAME,'input')[0]   #如果有输入账号密码的地方则直接输入
    sleep(5)
except:
    plogin = browser.find_element(By.ID,'switcher_plogin')   #如果没有输入账号密码的地方则点击下面的“账号密码登录”
    plogin.click()
    sleep(5)
    name = browser.find_elements(By.TAG_NAME,'input')[0]
name.send_keys('xxxxxxxxx@qq.com')  #输入账号
passw = browser.find_element(By.ID,'p')
passw.send_keys('xxxxxxxxxxxx')   #输入密码
passw.submit()
sleep(5)
newurl = browser.switch_to_window(browser.current_window_handle)  #获取登录后的邮箱页面url
print(newurl)


然后报错了:

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/130762042876155.png "#left")

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/039682042876143.png "#left")


请大神帮忙看一下,我知道我的代码很不规范等等各种问题,请轻拍,感谢~~~

  • 写回答

3条回答 默认 最新

  • 蜜桃小茉莉 2023-03-08 10:05
    关注

    报错的图没上传成功,在这里补一下:

    
    ```python
    ElementNotInteractableException           Traceback (most recent call last)
    Input In [12], in <cell line: 20>()
         18     name = browser.find_elements(By.TAG_NAME,'input')[0]
         19     print("2:",name)
    ---> 20 name.send_keys('1325944801@qq.com')
         21 passw = browser.find_element(By.ID,'p')
         22 passw.send_keys('samanthawoshizy')
    
    File ~/opt/anaconda3/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py:230, in WebElement.send_keys(self, *value)
        227             remote_files.append(self._upload(file))
        228         value = "\n".join(remote_files)
    --> 230 self._execute(
        231     Command.SEND_KEYS_TO_ELEMENT, {"text": "".join(keys_to_typing(value)), "value": keys_to_typing(value)}
        232 )
    
    File ~/opt/anaconda3/lib/python3.9/site-packages/selenium/webdriver/remote/webelement.py:403, in WebElement._execute(self, command, params)
        401     params = {}
        402 params["id"] = self._id
    --> 403 return self._parent.execute(command, params)
    
    File ~/opt/anaconda3/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py:440, in WebDriver.execute(self, driver_command, params)
        438 response = self.command_executor.execute(driver_command, params)
        439 if response:
    --> 440     self.error_handler.check_response(response)
        441     response["value"] = self._unwrap_value(response.get("value", None))
        442     return response
    
    File ~/opt/anaconda3/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py:245, in ErrorHandler.check_response(self, response)
        243         alert_text = value["alert"].get("text")
        244     raise exception_class(message, screen, stacktrace, alert_text)  # type: ignore[call-arg]  # mypy is not smart enough here
    --> 245 raise exception_class(message, screen, stacktrace)
    
    ElementNotInteractableException: Message: element not interactable
      (Session info: chrome=106.0.5249.119)
    Stacktrace:
    0   chromedriver                        0x00000001025aa598 chromedriver + 4404632
    1   chromedriver                        0x0000000102531fa3 chromedriver + 3911587
    2   chromedriver                        0x00000001021ded20 chromedriver + 425248
    3   chromedriver                        0x0000000102210e5f chromedriver + 630367
    4   chromedriver                        0x0000000102210402 chromedriver + 627714
    5   chromedriver                        0x0000000102234da2 chromedriver + 777634
    6   chromedriver                        0x000000010220b465 chromedriver + 607333
    7   chromedriver                        0x0000000102234efe chromedriver + 777982
    8   chromedriver                        0x000000010224bf79 chromedriver + 872313
    9   chromedriver                        0x0000000102234bd3 chromedriver + 777171
    10  chromedriver                        0x0000000102209ced chromedriver + 601325
    11  chromedriver                        0x000000010220ae51 chromedriver + 605777
    12  chromedriver                        0x000000010257a0ce chromedriver + 4206798
    13  chromedriver                        0x000000010257e797 chromedriver + 4224919
    14  chromedriver                        0x0000000102585a4f chromedriver + 4254287
    15  chromedriver                        0x000000010257f4da chromedriver + 4228314
    16  chromedriver                        0x000000010255823f chromedriver + 4067903
    17  chromedriver                        0x000000010259c6a8 chromedriver + 4347560
    18  chromedriver                        0x000000010259c816 chromedriver + 4347926
    19  chromedriver                        0x00000001025b18fe chromedriver + 4434174
    20  libsystem_pthread.dylib             0x00007ff8036554e1 _pthread_start + 125
    21  libsystem_pthread.dylib             0x00007ff803650f6b thread_start + 15
    
    
    

    ```

    评论

报告相同问题?

问题事件

  • 创建了问题 3月8日

悬赏问题

  • ¥15 matlab2017
  • ¥15 在vxWorks下TCP/IP编程,总是connect()报错,连接服务器失败: errno = 0x41
  • ¥15 AnolisOs7.9如何安装 Qt_5.14.2的运行库
  • ¥20 求:怎么实现qt与pcie通信
  • ¥50 前后端数据顺序不一致问题,如何解决?(相关搜索:数据结构)
  • ¥15 基于蒙特卡罗法的中介效应点估计代码
  • ¥15 罗技G293和UE5.3
  • ¥20 Tesla 特斯拉K80显卡 如果需要使用该设备,你需要禁用系统上的另一个设备。
  • ¥30 QT调用百度智能云千帆模型无法取得返回文本
  • ¥50 CCD工业视觉相机检测出现光边