使用Python Selenium点击PDF链接未打开,如何在新标签页打开?
解决方案
要在新标签页打开目标PDF链接,你可以采用以下两种可靠方法:
方法1:模拟键盘组合键点击(Ctrl/Command+点击)
通过ActionChains模拟按住Ctrl键(Windows)或Command键(Mac)点击链接,浏览器会自动在新标签页打开目标资源:
from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager import os os.environ['PATH'] += r"C:\Users\dew23\OneDrive\Computer Science" driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get("https://official.nba.com/nba-injury-report-2022-23-season/") # 等待元素可点击,比仅等待元素存在更稳妥 link_element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, '//*[@id="main"]/div/section[1]/div/div/p/a[12]')) ) # Windows系统用Keys.CONTROL,Mac系统替换为Keys.COMMAND ActionChains(driver).key_down(Keys.CONTROL).click(link_element).key_up(Keys.CONTROL).perform()
方法2:直接提取链接地址,用JavaScript打开新标签
这种方法不依赖键盘模拟,直接获取链接的href属性,通过执行JS代码在新标签页打开,兼容性更强:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager import os os.environ['PATH'] += r"C:\Users\dew23\OneDrive\Computer Science" driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get("https://official.nba.com/nba-injury-report-2022-23-season/") link_element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '//*[@id="main"]/div/section[1]/div/div/p/a[12]')) ) # 提取PDF链接地址 pdf_url = link_element.get_attribute("href") # 执行JS打开新标签页 driver.execute_script(f"window.open('{pdf_url}');")
额外提示
- 优先使用
element_to_be_clickable等待条件:确保元素完全加载且可交互,避免因元素未就绪导致点击无效。 - 切换标签页:如果需要操作新打开的PDF标签,可通过
driver.switch_to.window(driver.window_handles[1])切换到第二个标签页(索引从0开始)。
内容的提问来源于stack exchange,提问作者dane w
相关产品推荐
相关产品推荐

