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

Python Selenium如何将已复制的URL粘贴到新标签页

解决方案

你的代码问题在于pyperclip.paste()只是读取了剪贴板内容,但没有将其填入新标签页的地址栏并触发访问操作。以下是修正后的实现方案:

方法一:直接用剪贴板URL打开新标签页

# 点击复制链接按钮
self.driver.find_element(By.ID, "getLink").click()
# 从剪贴板获取复制的URL
copied_url = pyperclip.paste()
# 直接用获取到的URL打开新标签页
self.driver.execute_script(f"window.open('{copied_url}','_blank');")
# 切换到新标签页(如果需要后续操作)
new_tab = self.driver.window_handles[-1]  # 用[-1]避免索引越界,适配多标签场景
self.driver.switch_to.window(new_tab)

方法二:切换新标签页后填入地址栏

如果需要先打开空白页再填入URL,可以这样做:

from selenium.webdriver.common.keys import Keys
import time

# 点击复制链接按钮,添加短暂等待确保复制完成
self.driver.find_element(By.ID, "getLink").click()
time.sleep(0.5)
# 从剪贴板获取复制的URL
copied_url = pyperclip.paste()
# 打开空白新标签页
self.driver.execute_script("window.open('about:blank','_blank');")
new_tab = self.driver.window_handles[-1]
self.driver.switch_to.window(new_tab)
# 定位地址栏并输入URL,回车访问
self.driver.find_element(By.TAG_NAME, "input").send_keys(copied_url + Keys.ENTER)

额外注意事项

  • 部分网站的复制操作是异步执行的,添加短暂等待能确保URL成功写入剪贴板
  • 用window_handles[-1]代替固定索引[1],可以避免因浏览器已有多个标签页导致的索引错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:42:09