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

如何使用Selenium Python点击仅含部分URL的a标签链接

解决Selenium中相对路径href的链接点击问题

有几种实用的解决方式,直接对应你的场景:

1. 直接点击定位到的元素

浏览器会自动把相对路径补全成完整URL,不用手动拼接,直接点击a标签就行。调整你的定位代码,直接定位到元素:

# 直接定位到目标<a>标签
post_links = driver.find_elements("xpath", "//div[@class='owl-stage']//div[@class='single_post_text']/a")
for link in post_links:
    link.click()

点击后浏览器会自动跳转到https://vietstock.vn/xxx的完整链接。

2. 手动拼接URL后跳转

如果不想直接点击元素,也可以拿到相对路径后自己拼接完整URL,再用driver.get()访问:

base_domain = "https://vietstock.vn"
post_links = driver.find_elements("xpath", "//div[@class='owl-stage']//div[@class='single_post_text']/a")
for link in post_links:
    relative_path = link.get_attribute("href")
    full_url = base_domain + relative_path
    driver.get(full_url)
    # 处理完当前页面后需要返回的话,加一行 driver.back()

注意:因为你的相对路径开头是/,所以base_domain不要加末尾的/,避免出现https://vietstock.vn//xxx这种错误格式。

3. JavaScript强制点击(应对元素不可交互的情况)

如果直接用click()遇到元素不可点击、被遮挡之类的问题,用JavaScript强制触发点击:

post_links = driver.find_elements("xpath", "//div[@class='owl-stage']//div[@class='single_post_text']/a")
for link in post_links:
    driver.execute_script("arguments[0].click();", link)

这种方式同样会让浏览器自动补全相对路径,跳转到完整URL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:18:31