Max 搶票機器人的固障排除

遇到無法執行搶票程式,請先更新 chrome 瀏覽器版本,還有安裝 python 3.x。

整理常見的幾個無法執行MaxBot的原因有:

如果你在使用 MaxBot 有遇的問題,也可以開新的討論串在這裡:
https://github.com/max32002/tixcraft_bot/issues

這篇文章的目的,是因為原本的教學文章,愈寫愈長,每次開網頁除了都要載入很久,而且文章太長造成畫面很長,要找的資訊也相較不容易,所以拆開成二篇文章。

原本的文章:Max的拓元搶票機器人
https://max-everyday.com/2018/03/tixcraft-bot/


原因:機器人開出的瀏覽器無法登入Google帳號

Q:無法登入Google 帳號,顯示「這個瀏覽器或應用程式可能有安全疑慮」。

A:目前「無法」在搶票機器人開出的瀏覽器登入Google帳號。

  • 替代解法1:使用Facebook 登入,目前MaxBot預設會擋掉Facebook, 需要在MaxBot的設定介面取消勾選「擋掉Facebook連線」選項。
  • 替代解法2:在正常的瀏覽器裡登入 Google/Facebook 帳號後, 或透過 cookie 的 SID 值登入。

詳細的討論請參考: https://github.com/max32002/tixcraft_bot/issues/3

使用 cookie 的 SID登入影片:

Q:如何在已經登入拓元帳號的瀏覽器,取得Cookies 的 SID值?
A:在 Windows 請按 F12 或 Ctrl + Shift + I, 在 macOS 請按 Cmd+Option+I, 即可叫出開發者工具(DevTools),在畫面的 Appliction 分頁裡的 Storage 項目中的 Cookies 裡即取得拓元登入後的 SID值:

Q:SID 值可以使用的時間有多久?
A:在 facebook 或 google 帳號沒被登出的情況下,不確定 SID 可以使用多久。

建議每次取得之前,使用正常的瀏覽器到售票的官方網站登出帳號後,重新用 facebook / google 帳號登入一次,取得新鮮的SID,可以避免出錯。

SID 值有一個情況下, 固定會過期, 就是在使用該 SID 的情況下在拓元的網頁下點擊「登出」。

請多裝一些瀏覽器,例如: Firefox / Brave / Edge / Safari。可以透過這些正常的瀏覽器登入拓元帳號來取得 SID 值。

※ 拓元的「拓元會員加入辦法」: https://tixcraft.com/news/detail/422
建議有空可以使用真實資料,多註冊一些帳號,有助於搶票。


原因:MaxBot 預設擋掉Facebook

目前的MaxBot 預設會擋掉網頁裡的Facebook連線與隱藏部份的圖片, 所以無法登入Facebook, 網頁有些圖片不會顯示出來。

解法1: 有需要登入facebook 的話, 可以在設定介面, 把擋掉Facebook的勾勾拿掉, 就可以連到Facebook,

解法2: 如果售票平台是拓元/ticketmaster/ibon 的話, 也可以透過 cookie 的方式來登入.

參考影片: MaxBot 2023-11-06: 在虛擬主機環境下搶票
https://youtu.be/-LUt7Au03ps

相關討論: tixcraft無法登入google帳號
https://github.com/max32002/tixcraft_bot/issues/3


原因:沒有安裝 chrome 瀏覽器

如果遇到網咖電腦裡沒有安裝 chrome 瀏覽器,chrome 瀏覽器的安裝方式很簡單,先用其他可以上網的瀏覽器查詢關鍵字 chrome, 連到 google chrome 的網站,下載後就可以執行安裝檔,就可以取得 chrome 瀏覽器。

要怎麼知道沒有安裝 chrome 瀏覽器?

你在桌面或程式集裡找不到 chrome 瀏覽器,

或是在搶票程式裡點了 Run 按鈕,顯示下面訊息:

File “subprocess.py”, line xxx,
TypeError: argument of type ‘NoneType’ is not iterable.

就是,沒有安裝 chrome 瀏覽器。


原因:Chrome 由於安全性的因素無法下載 MaxBot 的執行檔

Q:Windows 的chrome 無法下載 MaxBot 的執行檔, 是要付費才能下戴MaxBot嗎?
A:免付費就可以下載 MaxBot,

在 Windows 平台, 由於安全性的因素會造成包含了執行檔的 zip 的下載。會出現訊息:

This file may be dangerous, so Chrome has blocked it.

請在chrome瀏覽器的”下載”視窗裡, 選擇”繼續下載” 即可,

如果你會怕中電腦病毒的話, 您也可以下載原始碼的版本, 再下載 python 就可以執行了, 但需要一些電腦的知識, 還有要安裝相依的python 第三方套件.

透過 source code 執行 MaxBot 可以參考這篇文章:
https://max-everyday.com/2023/11/buy-ticket-by-vm/

Q:你的程式是有病毒嗎?我下載WINDOWS的版chrome封鎖不讓我開。
A:這是正常的現象,因為下載的.zip 檔裡包含了.exe 執行檔,可能會讓你的電腦有中毒的風險。您有2個解法。

解法1:在chrome 「下載」(Download) 的頁面選擇「還原惡意檔案」(Keep dangerous file),這樣就可以取得可執行檔。

附註:執行 settings.exe 可以不需使用「系統管理員」權限執行,一般的權限來執行應用程式即可。

解法2:如果您擔心Max所編譯的執行檔可能有病毒,您可以在github 上自行下載 Python 的原始碼來執行,可以有一樣的效果,只是要執行Python原始碼需要有一點點電腦的基礎知識,需要安裝 Python 的執行檔並安裝一些第三方的package, 例如 selenium 和 chromedrive 套件。

Q:顯示錯誤訊息:cannot find Chrome binary,該怎麼辦?

A:可能是沒有安裝 chrome 瀏覽器或chrome 瀏覽器的版本與MaxBot支援的版本不相容。請點「關於chrome」進行自動更新chrome 版本,或下載和chrome 版本相符合的 MaxBot 版本。

Q:Windows平台,顯示錯誤訊息:此檔案的版本與您執行的Windows版本不相容,請檢查電腦的系統資訊,判斷您需要x86(32 位元)或x64(64 位元)版本的程式,然後連線軟體發行者。
A:

1:目前程式是「只有」支援64 位元,理論上也是可以支援32 位元,所以如果你是32位元,請去借台64位元的電腦來搶票。

如果想使用 32位元的電腦來搶票,你需要使用執行 Python 原始碼來執行。現在應該找不到 32位元的作業系統了。

2:Windows用戶,請執行解開 zip 檔案後裡第一層目錄下的 settings.exe,而不是 .settings.exe 或 \_MACOSX\settings.exe。謝謝。

※ 附註:強烈建議去借一台高級的電腦來跑,因為反應時間真的會差很多!


原因:chrome 瀏覽器版本較舊

由於目前搶票程式會自動下載 chromedriver,如果自動下載的 chromedriver 與你的 chrome 版本不符合,就會出現這個錯誤訊息。

如果你按下 “搶票” 按鍵之後, 在黑色的訊息視窗裡顯示下列的錯誤訊息:This version of ChromeDriver only supports Chrome version xxx, Current broswer version is yyy.

翻譯成中文:ChromeDriver 元件版本只支援 xxx 版,你目前瀏覽器是 yyy 版。

元件與chrome瀏覧器版本不一致造成無法執行,請更新 chrome 為最近版本。

每1到2個月可能會有1天會遇到chrom瀏覽器全球的改版,即使在chrome瀏覽器裡按檢查更新,或是重新在chrome網站下載,也升級不到最新的版本。因為全球的用戶太多了,所以沒辦法每一個地區都即時或短時間內使用到最新的chrome版本。

解決辦法:

請手動到 chromedriver 網站下載與你的瀏覽器相同版本的 chromedriver 檔案,下載並解壓縮後,再複製到搶票程式的 /webdriver/ 目錄下。如果不知道怎麼操作的話,也沒關係,過二天你的chrome瀏覽器就可以升級到最新的版本。

Q:點選「關於 Chrome」顯示:無法啟動更新檢查,該怎麼辦?

A:到瀏覽器輸入關鍵字chrome,到chrome 瀏覽器的網站下載安裝檔,即可安裝為最新版的 Chrome。

目前遇到這個問題,不需要更新 chrome 為最新版,程式會自動判斷 chrome 安裝的版本, 並下載正確的 chromedriver 版本,但自動並不是每次都正確,在某些未知的情況下,還是需要手動下載 chromedriver。


原因:Windows的內建或第三方的防毒軟體刪除或擋掉應用程式

如果你的 Windows 版本,顯示下面的錯誤訊息:

chrome_tixcraft.exe 不是內部或外部指令, 可執行的程式或批次檔。 

代表:chrome_tixcraft.exe 檔案不存在於搶票程式的目錄內,可能的原因有:

  • 你需要完整的解壓縮 zip 檔, 而不是直接點2下進入 zip 檔裡進行”預覽”.
  • chrome_tixcraft.exe 被你的防毒軟體刪除了, 你可以有這幾個解法:
    • 暫時停用防毒軟體.
    • 在防毒軟體裡, 增加例外情況的設定, 讓 chrome_tixcraft.exe 排除在病毒的名單之內.
    • 使用別台電腦.
    • 透過原始碼, 來執行搶票程式, 這會有一點點難, 因為需要一些”電腦”的相關知識.
    • 重新下載, 重新解壓縮, 重新執行 settings.exe 聽說就會正常.

如果你的Windows 顯示:Operation did not complete successfully because the file contains a virus or potentially unwanted software.

也是防毒造成, 解法同上.

Q:防毒軟體都關掉了,壓縮檔裡有settings.exe, 一解完成,執行檔 settings.exe 就不見了!
A:有可能是 Windows 內建的 “Windows 安全性” 裡的 Microsoft Defender 防毒軟體造成的, 可以暫時關閉 “病毒與威脅防護” 看看.

Q:解壓縮後,點開settings顯示“windons無法存取你指定的檔案、路徑、裝置,你可能沒有適當的權限,所以無法存取”,然後settings檔案就不見了!即使重新下載解壓縮則變成無法存取建立,需要重開機,重下載才會有出現!

A:

  1. Windows 用戶,請選擇有 chrome_tixcraft 開頭的 zip 檔案來下載。
  2. 請確定所開啟的檔案類型為「執行檔」,因為有另一個檔名是 settings.json 設定檔。
  3. 檔案會消失,極有可能是被防毒軟體刪除了,可以試看看暫時關閉病毒的即時防護。也可以挑戰執行 Python 的原始碼,也可以有一樣的效果。

Q:我檔案已經解壓縮玩也有打開設定一切都正常,可是當我關掉把他從資料夾拉到桌面的時候他整個檔案就打不開了,也不見了 重新下載壓縮檔在解壓縮也看不到setting了,想詢問這樣該怎麼辦?
A:你有3個解法,

1: 關閉你的防毒軟體, 或在防毒裡加入例外.
2: 下載原始碼, 透過原始碼的腳本來搶票.
3: 換別台電腦試看看.


原因:Windows大字型,造成點不到搶票按鈕

在Windows 使用預設字型(左圖), 可以看到搶票的按鈕。使用大字型(右圖)因為視窗不夠大, 搶票的按鈕會消失。

解法:滑鼠移動到視窗的右下角,就可以把小視窗縮放。


原因:macOS 的瀏覽器執行要在Application目錄下

如果macOS 平台遇到錯誤訊息:

os.path.dirname(executable)
TypeError: expected str, bytes or os.PathLike object, not NoneType

有2可能:

  • 你的 Mac 電腦沒有安裝 chrome 瀏覽器。
  • 或是你有安裝但沒有把 chrome 移動到 finder 的應用程式資料夾(Applications) 目錄裡,而是在 Application 目錄之外執行 chrome 瀏覽器。

原因:macOS 的無法驗證開發者

macOS 的用戶如果遇到下面的錯誤訊息:

無法打開「MaxBot」,因為無法驗證開發者。

或錯誤訊息:

無法打開「MaxBot」,因為它來自未識別的開發者。macOS 無法驗證此 App 未包含惡意軟體

解法:請改用「右鍵」去點執行檔,再選擇「開啟」(Open)的選項,即可正常執行。

macOS 11.0 以上的環境,請參考下面這篇教學:

如果您打開未經驗證或來自未識別開發者的 App
https://support.apple.com/zh-tw/HT202491

執行尚未經過簽名和驗證的軟體可能會將您的電腦和個人資訊暴露給惡意軟體,這些惡意軟體可能會傷害您的 Mac 或洩露您的隱私。如果確定所要安裝的 App 來自可信任的來源且並未遭到竄改,您可以暫時略過 Mac 安全性設定來打開此 App。

如果您仍要打開無法驗證開發者的 App,請打開「系統偏好設定」。

前往「安全性與隱私權」。在「一般」分頁裡按一下「強制打開」,以確認您想要打開或安裝該 App。


原因:macOS 直接執行紅色圖示的MaxBot.app

雖然直接點2下 MaxBot.app 大多電腦可以執行,在部份的 macOS 的 Catalina / BigSur 或在 M1 會閃退

解法:

請改用「右鍵」去點選app 後,選擇「顯示套件內容」(Show Package Contents)的選項,點進去 Contents 目錄下的 MacOS 目錄裡,去點2下執行黑色圖示的 MaxBot 即可正常執行。

但是在新的 M1/M2 的 arm 架構 CPU 的 macOS 執行黑色圖示時會顯示 CPU 版本不符, 把 MaxBot.app 放在下載的目錄(~/Download), 再請開啟 Terminal App, 貼上下列指令後, 按 Enter 鍵執行即可。

cd ~/Downloads/MaxBot.app/Contents/Resources/
python3 settings.py

執行畫面:

Q:在 Apple 的 Mac OS,按了 run 按鈕後,沒有反應
A:請幫忙執行下列的步驟,並提供最後終端機(Terminal,下指令視窗)的執行畫面。

Step 1:在 MaxBot.app 按右鍵,選 “Show Package Contents”

Step 2:點2下去開啟 “Contents” 目錄下的 “MacOS” 目錄下的 MaxBot 執行檔,喜歡按右鍵的朋友,也可以按右鍵再選”Open”。

Step 3:按下 Open 後的畫面如下,請提供按下 Run 按鈕後,終端機(Terminal,下指令視窗)的執行畫面。

由於新的 macOS X 10.15 Catalina(還有 11.0+ 以後版本) 因為安全性升級的關係,所以程式裡的執行檔會需要另外再做一次「授權」的動作,操作方式和上面列的一樣,請手動在 Contents/Resources/webdriver/chromedriver 的這一個檔案按右鍵選「開啟」(Open) 即可完成授權的動作。

如果做了上面的動作,按Run還是不行,請「重新開機」試看看,因為程式要關閉後,才會重新去查詢系統的授權設定值。


原因:macOS 系統缺少 xcrun 元件

在 macOS 點2下黑色的 MaxBot 圖示後,畫面顯示錯誤訊息:The default interactive shell is now zsh.
….
….
Hello, World, Settings Py3
xcrun: error invalid active developer path (….), missing xcrun at: /…/xcrun
logout

解法:

點右上角的放大鏡 (Spotlight) 輸入關鍵字 Terminal 後按 Enter 鍵,執行 Terminal app, 貼上並執行下列指令:

xcode-select --install

原因:macOS 系統預設的 python 有缺檔案,造成文字和背景都黑色

macOS 執行後顯示黑色畫面解法

原因:
在 macOS Monterey 12.x 版會有這一個問題,推測是macOS系統裡預設內建的 python 3.x 版的 tkinter 元件造成的問題。

解法:
到 python 的網站,下載最新版本的 python 3.x 版安裝後,重開機就可以了。python 3.x 傳送門:
https://www.python.org/downloads/macos/

Q:Mac OS 11 (Big Sur) 顯錯誤訊訊:「Python」未預期的結束,如何解決?

A:

步驟1:下載Python官方安裝檔,下載用網址:
https://www.python.org/downloads/

會下載檔案:python-3.x.x-macosx1x.x.pkg, 點2下即可開始安裝 python為新的版本。

步驟2:改下載和執行 MaxBot_py3 開頭的 zip 檔案,zip 檔會解開一個 MaxBot.app 紅色的圖示。

步驟3:在 MaxBot.app 按右鍵,選「Show Package Contents」的選項,在進入 Contents 目錄下的 MacOS 目錄裡,去點2下執行 MaxBot.

Q:在 Apple 的 Mac OS,按了 run 按鈕後,沒有反應
A:請幫忙執行下列的步驟,並提供最後終端機(Terminal,下指令視窗)的執行畫面。

Step 1:在 MaxBot.app 按右鍵,選 “Show Package Contents”

Step 2:點2下去開啟 “Contents” 目錄下的 “MacOS” 目錄下的 MaxBot 執行檔,喜歡按右鍵的朋友,也可以按右鍵再選”Open”。

Step 3:按下 Open 後的畫面如下,請提供按下 Run 按鈕後,終端機(Terminal,下指令視窗)的執行畫面。

由於新的 macOS X 10.15 Catalina(還有 11.0+ 以後版本) 因為安全性升級的關係,所以程式裡的執行檔會需要另外再做一次「授權」的動作,操作方式和上面列的一樣,請手動在 Contents/Resources/webdriver/chromedriver 的這一個檔案按右鍵選「開啟」(Open) 即可完成授權的動作。

如果做了上面的動作,按Run還是不行,請「重新開機」試看看,因為程式要關閉後,才會重新去查詢系統的授權設定值。


原因:Windows / macOS 系統,暫時無法自動下載 webdriver

類似的錯誤畫面:

可以看到最後的錯誤訊息是:

Failed to download chromedriver archive.

往上一點,可以程式挑戰去下載 webdriver 5 次,有顯示去下載的網址是 http://edgedl.me.gvtl.com/ 開頭的網址。

解法是,多試幾次就會成功自動下載 webdriver, 也可以手動下載 webdriver。

附註:在Windows的執行檔的版本,如果路徑有「中文字」也會讓程式出錯。如果在Windows上使用原始檔來執行,不會有錯誤。


手動下載 ChromeDriver 教學

目前的 Max搶票機器人,程式會自動下載chrome所需要的額外元件,所以你可以跳過下載ChromeDriver元件的步驟。

為什麼還需要附上下載ChromeDriver元件的教學?

因為有一些未知或例外的狀況,你需要手動下載ChromeDriver元件:

如果是 Windows 平台:

  • 使用中的作業系統不支援最新版的 chrome 瀏覽器, 例如: Win7 電腦只能支援到 chrome 109 版。
  • 使用中的作業系統暫時無法更新到最新版的 chrome 瀏覽器, 這個情況不常發生, 但還是會遇到, 通常是在 chrome 全球最新版發佈的那一天, 由於太多人要更新, 所以會地區來更新chrome 版本, 就會遇到搶票程式幫你下載的 chrome driver 比你可以下載的 chrome 瀏覽器還新, 就會無法搶票。

如果是 macOS 平台:

  • 使用中的作業系統安全性的因素,造成自動下載並解壓縮的 chromedriver 執行檔不能被執行。

Q:要去那裡下載 ChromeDriver?
A:

請到ChromeDriver網站 (https://chromedriver.chromium.org/) 下載與您目前chrome瀏覽器「相同版本」的 ChromeDriver 的執行檔,下載之後需要先解壓縮zip 檔,放在搶票程式的 /webdriver/ 目錄下。

附註:如果Mac電腦請放到 MaxBot.app 套件裡的 /Contents/Resources/webdriver/,在執行搶票程式前,第一次執行搶票主程式前,前請先手動點 ChromeDriver 的執行檔。

Q:chrome「相同版本」的定義是什麼?
A:版本的那串數字裡,第一個小數點前的號碼是主要版本號,只要主要版本號相同就可以使用。

ChromeDriver 下載的圖文教學

請在您的電腦連到網頁:https://chromedriver.chromium.org/

上面網頁可以看到, 在 chrome 115 版是一個分水領, 之後的版本下載方式比較特別,

chrome 115 版之後的下載網址:
https://googlechromelabs.github.io/chrome-for-testing/#stable

chrome 115 版之後的下載網址的畫面:

圖片說明:

  • 請反白你需要的平台右邊的 URL欄位,再按右鍵,選擇開啟該網址(Go to …) 就可以下載到你需要的 chrome driver.
  • 如果是Mac 平台,有2個版本 mac-x64 與 mac-arm64, 如果你的 Mac 是 M1/M2系列的CPU,或是 Mac 新電腦,應該都是選 arm64, 只有舊 INTEL CPU 的電腦才是選 mac-x64.

ChromeDriver 請依照您使用的平台下載所需要的 zip 壓縮檔,下載後要解壓縮,並移動到搶票程式的 /webdriver/ 目錄下。

使用Windows 7的電腦,Chrome 109 是支援Win7作業系統的最後版本,chrome driver 請使用這一個下載點:
https://chromedriver.storage.googleapis.com/index.html?path=109.0.5414.74/

Mac電腦,在點左上的蘋果圖示之後,就可以看到系統的版本,如果你的處理器那行有出現 intel 如下圖,那就是要選 mac-x64

如果是「Mac 平台」,執行 MaxBot 出問題,請先下載 python 3.x 版:
https://www.python.org/downloads/
建議安裝 Python 3.10.x 遇到的問題會較少,相容性也較好,當然也可以安裝 3.11.x 版。

按中正間黃色的 Download 就可以下載安裝檔

如果是「Mac 平台」,按 run 按鈕無法彈出新的chrome瀏覽器,有可能是macOS 系統的安全性造成的,畢竟允許程式隨意執行未授權的執行檔是一件很危險的事情,解法是:

手動下載ChromeDriver,並在ChromeDriver的執行檔上按右鍵,再選開啟「開啟」(Open)。就可以完成授權的動作。

執行的畫面如下:

這樣子,安裝和設定ChromeDriver 元件的部份就完成了,可以執行搶票程式了。

Windows平台,是把 ChromeDriver 放到搶票主程式解壓縮後的資料夾裡的 \webdriver\ 目錄,就可以執行搶票主程式。

如果你是使用 Firefox 瀏覽器

ChromeDriver 的元件是叫 geckodriver,下載點在:https://github.com/mozilla/geckodriver/releases ,與ChromeDriver 的處理方式是一樣。

如果你是使用 Edge 瀏覽器

目前搶票機器人不會自動下載webdriver, 您需要手動去下載與你的 Edge 相同主要版號相同的 webdriver,下戴點在: https://developer.microsoft.com/zh-tw/microsoft-edge/tools/webdriver/

Edge瀏覽器,在執行上的效果和 Google chrome 瀏覽器一樣,只有畫面比較酷炫一點。Edge瀏覽器在Windows版與mac版都可以使用搶票程式。

如果你是使用 Brave 瀏覽器

目前搶票機器人會自動下載 webdriver, brave 所使用的 chrome driver 與 chrome 相同.


相關文章

台灣:

香港:

韓國:

其他:

Facebook網友回應

您可能也會感興趣的文章...

《雖然是神經病但沒關係》裡的田螺姑娘

生活小事

最近看了一部韓劇《雖然是神經病但沒關係》(朝鮮語:사이코지만 괜찮아,英語:It’s Okay to not be Okay),刷新Max對童話故事的三觀(人生觀、世界觀 […]

Read More

人生的最後10年,你想要怎麼過呢?

生活小事

這部影片拍的很有趣,似乎是一個人可能有2種生活方式,大多數的人應該都會想過左邊健康的生活,誰會想生病,每天吃一堆藥,而且身體不舒服? Q:要怎麼才能過左邊的生活? Q:天 […]

Read More

苦累蛙圓體 Kurewa Gothic

生活小事

苦累蛙圓體是紅道字體的補字計畫。與原作者的主要差異是調整部件寫法、新增中文字、增加為5個字重、增加一些符號。可以免費商用,歡迎大家自由應用、自由改作! Kurewa go […]

Read More

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *