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

如何修复Python代码以正常打开Chrome浏览器?

解决Google搜索结果链接无法自动打开的问题

问题根源

  1. Google搜索页面的DOM结构已更新,原代码里的.r a选择器匹配不到任何搜索结果链接,导致linkElements为空,循环根本没执行
  2. 直接用requests.get发请求会被Google识别为非浏览器请求,返回的页面不含正常搜索结果内容

修改后的代码

import bs4
import requests
import sys
import webbrowser

# 模拟浏览器请求头,避免被拦截
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

# 构造搜索URL
search_query = ' '.join(sys.argv[1:])
res = requests.get(f'https://google.com/search?q={search_query}', headers=headers)
res.raise_for_status()

# 使用更新后的选择器匹配搜索结果链接
soup = bs4.BeautifulSoup(res.text, "html.parser")
linkElements = soup.select('.yuRUbf a')  # 当前Google搜索结果链接的容器选择器
linkToOpen = min(5, len(linkElements))

for i in range(linkToOpen):
    # 现在href通常是完整URL,无需拼接前缀
    webbrowser.open(linkElements[i].get('href'))

关键改动说明

  • 添加User-Agent请求头:模拟真实浏览器请求,绕过Google的爬虫检测
  • 更新CSS选择器:替换为当前Google搜索结果链接对应的.yuRUbf a选择器(若后续页面结构再变,需手动打开搜索页检查元素调整选择器)
  • 优化URL拼接:现在搜索结果的href基本是完整目标链接,不用再拼接https://google.com前缀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:50:48