簡體   English   中英

如何在Selenium中使用Google Chrome擴展程序?

[英]How can I use a Google Chrome extension with Selenium?

我正在嘗試從這樣的頁面上抓取匹配信息(頁面的格式相同,但顯然不同匹配具有不同的值): https : //csgolounge.com/match?m=8967

問題是,僅當您使用Chrome擴展程序“休息室毀滅者”時,才會顯示我想要的信息...經過大量的反復試驗,我終於弄清楚了,為了獲取該信息,我使用了python腳本使用必須以某種方式將擴展名“包含在其中”。 我在這里瀏覽了其他答案,並從另一個stackoverflow線程中找到了此代碼,該線程演示了如何在使用硒時添加擴展名:

            from selenium import webdriver
            from selenium.webdriver.chrome.options import Options

            chop = webdriver.ChromeOptions()
            chop.add_extension('Adblock-Plus_v1.4.1.crx')
            driver = webdriver.Chrome(chrome_options = chop)

我去了Chrome Extension Downloader來為LoungeDestroyer捕獲.crx文件,將其放在chrome擴展文件夾中(從“獲取信息”獲取文件地址),並為我的目的修改了上面的代碼以獲取以下內容:

            from selenium import webdriver
            from selenium.webdriver.chrome.options import Options

            chop = webdriver.ChromeOptions()
            chop.add_extension('Users/Username_Here/Library/Application Support/Google/Chrome/Default/Extensions/ghahcnmfjfckcedfajbhekgknjdplfcl/LoungeDestroyer_v0.9.3.7.crx')
            driver = webdriver.Chrome(chrome_options = chop)

            matchID = raw_input("Enter match ID (four digit number in CSGL URL): ")
            driver.get("https://csgolounge.com/match?m="+matchID)

問題是,我認為我沒有用原始代碼中的“ Adblock-Plus_v1.4.1.crx”代替正確的東西。

運行修改后的版本會返回以下錯誤:

            IOError: Path to the extension doesn't exist

任何幫助或建議,我們將不勝感激。

問題是我沒有安裝chromedriver( http://chromedriver.storage.googleapis.com/index.html?path=2.21/ )。 安裝完之后,我必須在代碼中輸入chromedriver可執行文件的路徑。 總而言之,這是有效的代碼:

            from selenium import webdriver
            from selenium.webdriver.chrome.options import Options


            chop = webdriver.ChromeOptions()
            chop.add_extension('/Users/Username_Here/Library/Application Support/Google/Chrome/Default/Extensions/ghahcnmfjfckcedfajbhekgknjdplfcl/LoungeDestroyer_v0.9.3.7.crx')
            driver = webdriver.Chrome(executable_path='/Users/Username_Here/Downloads/chromedriver', chrome_options = chop)

            # go to the match page
            matchID = raw_input("Enter match ID (four digit number in CSGL URL): ")
            driver.get("https://csgolounge.com/match?m="+matchID)

另外,得到該擴展路徑錯誤的原因是因為我在文件地址中的“用戶”一詞前沒有正斜杠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM