Python:chrome.exe的通用webbrowser.get()。open()無法正常工作
您必須在webbrowser.get調(diào)用中使用unix樣式的路徑:
webbrowser.get('C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s').open('http://google.com')
這是因?yàn)閣ebbrowser內(nèi)部shlex.split在路徑上執(zhí)行,只會(huì)刪除Windows樣式的路徑分隔符:
>>> cmd = 'C:Usersoreild1AppDataLocalGoogleChromeApplicationchrome.exe %s'>>> shlex.split(cmd)[’C:Usersoreild1AppDataLocalGoogleChromeApplicationchrome.exe’, ’%s’]>>> cmd = 'C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe %s'>>> shlex.split(cmd)[’C:/Users/dan/AppData/Local/Google/Chrome/Application/chrome.exe’, ’%s’]
shlex如果給定posix=False@R_168_5301@,實(shí)際上webbrowser將在這里做正確的事情,但即使在Windows上也不會(huì)提供。可以說這是一個(gè)錯(cuò)誤webbrowser。
解決方法我使用的是Python 2.7(Win 8.1x64),我想在Chrome中打開一個(gè)URL。由于Chrome僅在3.3+中受本機(jī)支持,因此我嘗試了一個(gè)通用調(diào)用:
import webbrowserwebbrowser.get('C:Program Files (x86)GoogleChromeApplicationchrome.exe %s').open('http://google.com')
路徑是正確的,并且print確實(shí)為我提供了處理程序:
'<webbrowser.GenericBrowser object at 0x0000000002D26518>'
但是,open()-最好是open_new_tab())-功能不起作用。它返回False。
如果我運(yùn)行命令
'C:Program Files (x86)GoogleChromeApplicationchrome.exe' 'https://google.com'
在Windows運(yùn)行對(duì)話框中,它確實(shí)起作用。
如果我將Chrome設(shè)置為標(biāo)準(zhǔn)瀏覽器并運(yùn)行
webbrowser.get().open('http://google.com')
它確實(shí)有效,但這不是我想要的。
有誰知道出什么事了嗎?
相關(guān)文章:
1. CSS3中Transition屬性詳解以及示例分享2. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)3. jsp文件下載功能實(shí)現(xiàn)代碼4. XMLHTTP資料5. asp.net core項(xiàng)目授權(quán)流程詳解6. html中的form不提交(排除)某些input 原創(chuàng)7. ASP常用日期格式化函數(shù) FormatDate()8. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫特效9. ASP動(dòng)態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗(yàn)分享10. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
