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

如何用Python Selenium实现点击元素在新标签页/窗口打开

Python Selenium 实现点击元素在新标签页/窗口跳转

方法1:模拟键盘组合键点击

多数浏览器支持按住 Ctrl(Windows/Linux)或 Command(Mac)点击链接,触发新标签页打开。用Selenium的ActionChains可模拟该操作:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
driver.get("你的目标页面URL")

# 定位目标元素
target_element = driver.find_element("xpath", "//a[text()='目标链接文本']")

# Windows/Linux 用Ctrl+点击,Mac替换为Keys.COMMAND
ActionChains(driver).key_down(Keys.CONTROL).click(target_element).key_up(Keys.CONTROL).perform()

方法2:修改元素的target属性为_blank

通过JavaScript修改元素的target属性为_blank,点击时浏览器会自动在新标签页打开:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("你的目标页面URL")

target_element = driver.find_element("xpath", "//a[text()='目标链接文本']")

# 执行JS修改target属性
driver.execute_script("arguments[0].setAttribute('target', '_blank');", target_element)

# 点击元素,跳转至新标签页
target_element.click()

方法3:直接用JS打开新标签页访问元素链接

如果元素包含href属性,可直接提取链接,用JavaScript在新标签页打开,无需点击元素:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("你的目标页面URL")

target_element = driver.find_element("xpath", "//a[text()='目标链接文本']")
link_url = target_element.get_attribute("href")

# 执行JS打开新标签页
driver.execute_script(f"window.open('{link_url}');")

额外操作:切换到新标签页

打开新标签页后,若需操作新页面,需切换窗口句柄:

# 获取所有窗口句柄
all_windows = driver.window_handles
# 切换到最后一个窗口(新打开的标签页)
driver.switch_to.window(all_windows[-1])

# 在此处操作新页面...

# 切回原标签页
driver.switch_to.window(all_windows[0])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 00:42:07