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

如何在VSCode终端通过命令行运行Python Selenium登录脚本

如何在VSCode终端运行带参数的Selenium登录Python脚本

脚本无法正常执行的核心原因有两个:一是代码里sys.argv索引使用错误,二是如果使用unittest/pytest类测试框架,默认会读取命令行参数,和你自定义的登录参数产生冲突。

第一步:修正代码问题

sys.argv的固定索引规则是:sys.argv[0]永远代表当前运行的脚本自身文件名,你需要传入的URL、用户名、密码要从索引1开始依次读取。
补全依赖导入、驱动初始化、框架参数兼容后的可运行代码如下:

import sys
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest

class LoginTest(unittest.TestCase):
    def setUp(self):
        # 初始化Chrome驱动,运行前请确认已配置好对应版本的ChromeDriver环境变量
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(10)

    def test_login(self):
        # 修正参数索引:参数顺序对应 脚本名 登录页URL 用户名 密码
        target_url = sys.argv[1]
        username = sys.argv[2]
        password = sys.argv[3]
        
        self.driver.get(target_url)
        print("浏览器启动成功")
        self.driver.find_element(By.NAME, "username").send_keys(username)
        self.driver.find_element(By.CLASS_NAME, "btn-login-submit").click()
        time.sleep(7)
        self.driver.find_element(By.NAME, "password").send_keys(password)
        self.driver.find_element(By.CLASS_NAME, "btn-login-submit").click()
        time.sleep(10)
        print("登录成功")

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    # 屏蔽unittest对自定义命令行参数的读取,避免参数冲突报错
    unittest.main(argv=sys.argv[:1])

如果你不使用unittest框架,只是写普通线性脚本,可以去掉测试类结构,直接编写流程代码,不需要额外处理参数冲突,只要修正argv索引即可。


第二步:VSCode终端执行命令

打开VSCode内置终端,先通过cd命令切换到脚本所在的文件夹,然后按照下面的格式输入运行命令:

# 命令格式:python 脚本文件名 登录页URL 用户名 密码
python login_test.py https://你的登录页面地址 你的登录账号 你的登录密码

实际运行示例:

python login_test.py https://mail.qq.com my_qq_account@qq.com my_mail_password

常见报错排查

  • 如果提示python不是内部或外部命令:Windows环境把python换成py,Mac/Linux环境换成python3即可
  • 如果提示找不到selenium模块:先在终端执行pip install selenium安装对应依赖
  • 如果提示浏览器驱动找不到:下载和你本地浏览器大版本匹配的驱动,放到Python安装目录或者配置到系统环境变量路径下
  • 传参时不要缺漏参数,三个参数的顺序必须和代码读取顺序一致,不能随意调换

内容的提问来源于stack exchange,提问作者DEEPIKA S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 12:27:07