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

如何在仅允许按钮点击跳转的网站用Selenium新标签打开myURL

解决方法

一、在Chrome开发者工具中定位阻止跳转的函数

  1. 打开Chrome开发者工具(按F12或右键页面选择「检查」)
  2. 在Elements面板中找到目标<a>标签
  3. 切换到Event Listeners面板,在搜索框输入click,查看该元素及其父元素绑定的点击事件处理器
  4. 点击每个事件处理器右侧的链接,跳转到Sources面板查看函数代码,重点排查是否有e.preventDefault()、return false这类阻止默认跳转行为的代码
  5. 也可在Console面板执行以下代码,点击元素时触发断点追踪调用栈:
    $0.addEventListener('click', function(e) { debugger; }, true);
    
    执行后点击目标元素,会自动进入断点,通过Call Stack查看触发的函数链。

二、用Selenium在新标签打开目标链接

方法1:通过JavaScript直接打开新标签

该方法会携带当前会话的Cookie,避免被重定向:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("你的网页URL")

# 定位目标a元素
target_link = driver.find_element(By.CSS_SELECTOR, 'a[href="myURL"]')
# 获取链接地址
link_url = target_link.get_attribute('href')
# 执行JS打开新标签
driver.execute_script(f"window.open('{link_url}', '_blank');")

# 切换到新标签页(可选操作)
driver.switch_to.window(driver.window_handles[1])

方法2:模拟右键菜单选择「在新标签打开」

模拟真实用户交互流程:

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

driver = webdriver.Chrome()
driver.get("你的网页URL")

target_link = driver.find_element(By.CSS_SELECTOR, 'a[href="myURL"]')
# 构建动作链
actions = ActionChains(driver)
# 右键点击元素,按向下箭头选择「在新标签打开」后回车确认
actions.context_click(target_link).send_keys(Keys.ARROW_DOWN).send_keys(Keys.ENTER).perform()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:22:15