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

使用Python Selenium WebDriver实现登录后打印新生成的URL

用Python Selenium实现登录后打印新页面URL

嘿,这就给你搞定登录后获取新URL的实现方案,代码里加了详细注释,你可以直接根据自己的需求调整:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from urllib.parse import urlparse, parse_qs

# 初始化浏览器实例,这里用Firefox,换成Chrome的话改成webdriver.Chrome()即可
driver = webdriver.Firefox()

try:
    # 1. 打开登录页面,替换成你的目标登录URL
    driver.get("你的登录页面URL")

    # 2. 执行登录操作 - 这里需要你根据实际页面元素替换定位器和内容
    # 示例:定位用户名输入框并输入
    username_input = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "username"))
    )
    username_input.send_keys("你的用户名")

    # 定位密码输入框并输入
    password_input = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.ID, "password"))
    )
    password_input.send_keys("你的密码")

    # 定位登录按钮并点击
    login_button = WebDriverWait(driver, 10).until(
        EC.element_to_be_clickable((By.ID, "login-btn"))
    )
    login_button.click()

    # 3. 等待页面跳转完成,这里可以根据跳转后的页面特征来等待,比如某个元素出现
    WebDriverWait(driver, 15).until(
        EC.url_changes(driver.current_url)
    )

    # 4. 获取并打印新生成的URL
    new_url = driver.current_url
    print(f"登录后的新URL: {new_url}")

    # 额外福利:如果需要解析URL里的参数(比如你提到的user_id),可以用下面的代码
    parsed_url = urlparse(new_url)
    url_params = parse_qs(parsed_url.query)
    if "user_id" in url_params:
        print(f"提取到的user_id: {url_params['user_id'][0]}")

finally:
    # 记得关闭浏览器,避免资源占用
    driver.quit()

一些关键说明:

  • 浏览器适配:如果用Chrome,需要确保ChromeDriver已配置好环境变量,然后把webdriver.Firefox()换成webdriver.Chrome()。
  • 元素定位:登录步骤里的元素ID(比如username、password)要换成你目标页面实际的元素定位方式,也可以用XPath、CSS选择器等。
  • 等待机制:用WebDriverWait显式等待代替强制等待,能让代码更稳定,避免页面加载慢导致的元素找不到问题。
  • URL解析:如果需要从新URL里提取特定参数(比如你提到的user_id),代码里的urllib工具可以帮你轻松解析。

内容的提问来源于stack exchange,提问作者Kiran Kumar Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:10:38