chromedriver+selenium headless尝试
去年做的几个selenium+firefox, 今年原爬取网站有变动,陆陆续续修改了几个,想到了前段时间看到的headless,就试着改造了下.
//原来想用phantomJS,但说实话,坑实在大,对文件下载,尤其是客户端实时文件下载很不友好,所以一开始就放弃了phantomJS.
原selenium 2.5.3 + firefox 45.
最新selenium 3.11.0, 想着firefox用的有点吐,试试chrome.
chromdriver 2.37 直接放到项目目录下,硬启动```
代码如下:
def Conf_Chrome():
chromedriverpath = 'chromedriver.exe'
chrome_options = Options()
dir = Get_Download_Dir()
prefs = {
'profile.default_content_settings.popups': 0,
'download.default_directory': dir,
"profile.managed_default_content_settings.images": 2
}
chrome_options.add_experimental_option("prefs", prefs)
# chrome_options.add_argument('--proxy-server=http://')
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(executable_path=chromedriverpath, chrome_options=chrome_options)
print u"浏览器初始配置完成"
logging.info(u"浏览器初始配置完成")
return browser
试了下,后续操作代码执行正常,可惜headless状态下,下载文件在本地没有存储,注销后,正常下载存储.
研究了下网络上已存在的帖子,说法是下载的文件是服务端实时生成的,没有固定url,headless状态下,下载失败.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?