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

使用Selenium登录vidiq后Dashboard页面未加载问题排查

VidIQ自动化登录后Dashboard未加载问题排查

问题描述

执行下方Python自动化登录代码后,登录操作成功,但程序随即结束,预期的Dashboard页面(如下图)未能加载显示:
预期Dashboard页面

原代码

from selenium import webdriver           
import time
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup
import pandas as pd
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
import requests
from csv import writer


options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=1920x1080")
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
wait = WebDriverWait(driver, 20) 

time.sleep(2)
url='https://app.vidiq.com/auth/login'

driver.get(url)

email=driver.find_element(By.CSS_SELECTOR,"input#email")
email.send_keys("-----")

password=driver.find_element(By.CSS_SELECTOR,"input#password")
password.send_keys("--------")

time.sleep(2)
login=driver.find_element(By.XPATH,"//button[@type='submit']")
login.click()

问题原因

  1. 脚本执行完登录操作后直接终止:代码在点击登录按钮后无后续逻辑,Python脚本执行到最后一行即结束,浏览器自动关闭,此时Dashboard页面可能仍在加载,无法显示。
  2. 缺少页面加载等待逻辑:登录后页面跳转需要时间,未设置等待Dashboard核心元素加载完成的判断,直接结束程序导致看不到预期页面。
  3. 存在冗余导入:代码导入了BeautifulSoup、pandas、requests等未使用的库,虽不影响功能,但会增加不必要的资源加载。

解决办法

1. 添加页面加载等待逻辑

使用WebDriverWait等待Dashboard页面的标志性元素(如顶部导航栏、Dashboard标题)出现,确保页面加载完成后再执行后续操作或保持浏览器打开。

2. 保持浏览器打开

可通过添加输入等待或修改Chrome选项,让浏览器在脚本执行后不自动关闭。

优化后的代码示例

from selenium import webdriver           
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait


options = webdriver.ChromeOptions()
options.add_argument("--no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=1920x1080")
options.add_argument("--disable-extensions")
# 可选:让浏览器不自动关闭
options.add_experimental_option("detach", True)

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
wait = WebDriverWait(driver, 20) 

url='https://app.vidiq.com/auth/login'
driver.get(url)

# 等待邮箱输入框加载完成再输入
email = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "input#email")))
email.send_keys("你的邮箱")

# 等待密码输入框加载完成再输入
password = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "input#password")))
password.send_keys("你的密码")

# 等待登录按钮可点击后点击
login_btn = wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@type='submit']")))
login_btn.click()

# 等待Dashboard页面加载完成(元素定位可根据实际页面调整)
wait.until(EC.presence_of_element_located((By.XPATH, "//h1[contains(text(), 'Dashboard')]")))

# 可选:等待用户输入后关闭浏览器
# input("查看完页面后按回车键关闭浏览器...")

内容的提问来源于stack exchange,提问作者Amen Aziz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 17:45:38