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

使用Selenium登录www.moneycontrol.com网站的表单操作问题求助

使用Selenium登录www.moneycontrol.com网站的表单操作问题求助

我最近尝试用Selenium自动化登录www.moneycontrol.com,但一直没法顺利完成登录流程——这个网站的登录表单是多层结构的,操作起来有点复杂,具体需要完成这几步:

  • 鼠标悬停或点击页面上的"Hello, Login",然后点击弹出表单里的"Log-in"按钮
  • 切换到"Login with password"标签页
  • 填写邮箱和密码,让登录按钮变为可点击状态

我自己写了一段代码,但似乎没达到预期效果,希望能得到大家的帮助。我的代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
import pandas as pd
from io import StringIO
from bs4 import BeautifulSoup

chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://www.moneycontrol.com')
email = "xxxxxxx@gmail.com"
password = "Qxxxxxxx"
# Click on the "Login" button
print(driver.page_source)
login_button = driver.find_element(By.XPATH, '//a[contains(text(), "Hello, Login")]')
login_button.click()
time.sleep(3)  # Wait for login popup to appear
# Click on the "Login" button
login_button = driver.find_element(By.XPATH, '//a[contains(text(), "Log-in")]')
login_button.click()
time.sleep(3)  # Wait for login popup to appear
# Click on the "Login" button
login_button = driver.find_element(By.XPATH, '//a[contains(text(), "Login with Password")]')
login_button.click()
time.sleep(3)  # Wait for login popup to appear
# Switch to login iframe if present
try:
    iframe = driver.find_element(By.TAG_NAME, "iframe")
    driver.switch_to.frame(iframe)
    time.sleep(2)
except:
    pass  # If no iframe, continue normally

# Enter email/username
email_field = driver.find_element(By.CSS_SELECTOR, '#mc_login > form > div:nth-child(1) > div > input[type=text]')
email_field.send_keys(email)

# Enter password
password_field = driver.find_element(By.CSS_SELECTOR, '#mc_login > form > div:nth-child(2) > div > input[type=password]')
password_field.send_keys(password)

# Click on Login button
submit_button = driver.find_element(By.CSS_SELECTOR, '#mc_login button[type="submit"]')
submit_button.click()

# Wait for login to process
time.sleep(5)

提醒:这个网站广告特别多,建议用广告拦截工具,避免操作过程中被广告干扰导致流程出错

备注:内容来源于stack exchange,提问作者Dileep Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 08:52:56