python - 使用 Python 获取新 Chrome 选项卡的 HTML
问题描述
我正在尝试抓取新 chrome 选项卡的 HTML 代码,但我找不到使用 Python 的方法。
这是我尝试过的:
我已经尝试过该requests
模块,但是这段代码:
import requests
URL = "chrome://newtab"
page = requests.get(URL)
print(page.text)
产生此错误:
Traceback (most recent call last):
File "c:\Users\Ben Bistline\Code\PythonFiles\PythonFiles\chromescrape.py", line 4, in <module>
page = requests.get(URL)
File "C:\Users\Ben Bistline\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\requests\api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\Ben Bistline\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\Ben Bistline\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\Ben Bistline\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\requests\sessions.py", line 649, in send
adapter = self.get_adapter(url=request.url)
File "C:\Users\Ben Bistline\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\requests\sessions.py", line 742, in get_adapter
raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for 'chrome://newtab'
我想这个结果是有道理的,但我不确定如何/是否可以绕过它。
我也试过使用webbrowser
这个代码的模块:
import requests, webbrowser
URL = "chrome://newtab"
chromePath = 'C:/Program Files/Google/Chrome/Application/chrome.exe %s'
webbrowser.get(chromePath).open(URL)
不幸的是,虽然成功,但这种方法似乎并没有提供一种收集 HTML 的方法。
任何人都知道使用 Python 获取新 Chrome 标签的 HTML 的任何其他方法吗?
谢谢!
解决方案
您可以将Selenium 驱动程序与 Chrome 一起使用来做到这一点
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('chrome://newtab')
content = driver.page_source
browser.close()
推荐阅读
- javascript - 使用 FileReader 后解析结果不同
- android - Android中布局的屏幕截图为PDF
- php - PHP XML Foreach 显示 1 条评论
- android - 为 android 创建壁纸应用程序的最佳方法是什么?
- html - 输入获得关注另一个输入
- javascript - 如何在 React Navigation 中深度链接到嵌套导航器?
- javascript - 淘汰赛添加到数组的数组
- unicode - Windows 代码页 1252 能够处理非英文字符
- flutter - 导航器上下文中的 Flutter App Bar 组件不起作用
- javascript - 流星 js 1.7.0.5 不会访问 mac 上的数据库