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

Python调用Selenium操作Chrome页面点击按钮及登录失败求助

问题分析与解决方案

通用问题:浏览器自动关闭

ChromeDriver在Python脚本执行完毕后会默认关闭浏览器,这是页面打开后直接关闭的核心原因。解决方法是在脚本末尾添加代码阻止脚本结束,或显式控制浏览器关闭时机。


第一个代码(GeeksforGeeks登录)的问题与修正

存在的问题

  1. button = driver.find_element(By.LINK_TEXT, "Sign In").click():click()方法返回None,因此button变量为None,后续调用button.click()会触发AttributeError,脚本执行出错后结束,导致浏览器关闭。
  2. 脚本执行完毕后浏览器自动关闭,无法查看操作结果。

修正后的代码

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

driver = webdriver.Chrome()
driver.get("https://www.geeksforgeeks.org/") 
driver.maximize_window() 

# 用显式等待替代time.sleep,提升稳定性
sign_in_btn = WebDriverWait(driver, 20).until(
    EC.element_to_be_clickable((By.LINK_TEXT, "Sign In"))
)
sign_in_btn.click()

# 阻止脚本结束,保持浏览器打开
input("Press Enter to close the browser...")
driver.quit()

第二个代码(Seeking Alpha登录)的问题与修正

存在的问题

  1. EC.element_to_be_clickable(driver.find_element(By.LINK_TEXT, "email")):错误传入find_element执行结果,会立即尝试查找元素,若元素未加载完成直接报错,失去显式等待的作用,正确写法是传入定位器元组。
  2. 未定义ACCOUNT变量,执行时会触发NameError。
  3. 脚本执行完毕后浏览器自动关闭。

修正后的代码

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

# 定义你的账号
ACCOUNT = "your_email_address@example.com"

driver = webdriver.Chrome()
driver.get("https://www.seekingalpha.com/login")

# 显式等待的正确写法:传入定位器元组
username_field = WebDriverWait(driver, 20).until(
    EC.element_to_be_clickable((By.LINK_TEXT, "email"))
)

username_field.send_keys(ACCOUNT)

# 保持浏览器打开,方便查看结果
input("Press Enter to close the browser...")
driver.quit()

额外优化建议

  • 尽量避免使用time.sleep(),固定等待时间受网络影响稳定性差,显式等待会在元素满足条件时立即执行操作,提升脚本可靠性。
  • 若元素定位失败,可检查页面元素的实际属性(比如Link Text是否准确、是否存在嵌套框架iframe需要切换)。

内容的提问来源于stack exchange,提问作者RA.IBOY

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:28:15