You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python的Selenium打印Instagram密码重置回复消息?

How to Capture Instagram Password Reset Response Messages with Selenium

Hey there! Let's walk through how to grab and print those response messages like "thanks! check your email for reset link" or "no account with this email" from Instagram's password reset page using your Selenium code. Here's what you need to do:

Step 1: Update Deprecated Selenium Methods

First, a quick heads-up: the old find_element_by_name method is deprecated in newer Selenium versions. We'll switch to the modern find_element() approach with By locators to avoid warnings and ensure compatibility.

Step 2: Wait for the Response Message to Load

After submitting the username/email, the page takes a second to load the response. Using an explicit wait (instead of a rigid time.sleep()) is way more reliable—it waits until the message element actually exists on the page, rather than guessing a wait time.

Step 3: Locate and Extract the Message Text

Instagram displays these responses in an alert-style element, usually marked with a role="alert" attribute. We can use this to target the element and pull its text content.

Modified Working Code

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import schedule

# Initialize the Chrome browser
browser = webdriver.Chrome('/Users/badernm/Desktop/chromedriver')
browser.get('https://www.instagram.com/accounts/password/reset/')

# Locate the username/email field with modern syntax
usrname_bar = browser.find_element(By.NAME, 'cppEmailOrUsername')
username = '17pii_'
usrname_bar.send_keys(username + Keys.ENTER)

# Wait up to 10 seconds for the response message to appear
try:
    # Target the alert element (adjust the locator if needed)
    response_element = WebDriverWait(browser, 10).until(
        EC.presence_of_element_located((By.XPATH, "//div[@role='alert']"))
    )
    # Extract and print the clean message text
    response_text = response_element.text.strip()
    print(f"Page Response: {response_text}")
except Exception as e:
    print(f"Oops, couldn't find the response message: {str(e)}")

# Optional: Close the browser when done
# browser.quit()

Quick Notes:

  • If the role="alert" locator doesn't work, right-click the response message on the page and select "Inspect" to find the correct element. For example, Instagram sometimes uses a class like _ab2z for these messages—you could swap the locator to (By.CLASS_NAME, '_ab2z') in that case.
  • The WebDriverWait prevents errors from trying to access the element before it's fully loaded.
  • strip() removes extra whitespace from the message to make the output cleaner.

内容的提问来源于stack exchange,提问作者DR-LEO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 15:57:55