故障排除

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

整理常見的幾個無法執行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 的情況下在拓元的網頁下點擊「登出」。

附註:在正常瀏覽器登入帳號後,取得 Cookie, 接著在其他視窗裡的機器人使用相同的 Cookie,這時候 2個瀏覽器(正常瀏覽器+機器人)都是使用相同的 Cookie,只要任何一個瀏覽器點了登出,這2個瀏覽器都會無法再使用該 Cookie, 因為內容已過期。。

請多裝一些瀏覽器,例如: 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 瀏覽器。


原因:沒有安裝 Python

如果你挑戰透過原始碼來執行 MaxBot, 遇到錯誤訊息: python 無法辦識

無法執行 python 指令,因為預設作業系統並沒有內建,需要額外安裝。

python 下載用傳送門:https://www.python.org/downloads/


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

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

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

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

中文: 這個檔案可能不安,因此遭到 Chrome 封鎖。

請在chrome瀏覽器的「下載」的視窗裡, 選擇「保留不安全的檔案」, 然後再選「繼續下載」 即可,

左邊按鈕中文:「從清單中移去」, 右邊按鈕中文:「保留不安全的檔案」. 您選擇右邊的話, 就可以取得檔案。

除了下載打包好的執行檔案外,如果您擔心電腦病毒的話, 您也可以下載原始碼的版本, 再下載 python 安裝檔就可以執行原始始, 但需要一些電腦的知識, 還有要安裝相依的python 第三方套件.

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

透過原始碼執行MaxBot教學影片: https://youtu.be/HpVG91j0lbI

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 權限不足,無法執行 chromedriver

中文錯誤訊息:

[WinError 740] 要求的作業需要提升的權限

英文錯誤訊息:

[WinError 740] The requested operation requires elevation1

從截圖的畫面上來看,應該是無法執行透過程式下載的 chromedriver.exe.

解法:

  • 方案1: 把程式放到其他的槽之下。
  • 方案2: 或按右鍵以管理員來執行。

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

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

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


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

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

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

或是錯誤訊息:

No such file or directory: ‘/Applications/Google Chrome.app/…’

有2可能:

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

MaxBot.app 不需要放到 Application 目錄下, 其實 MaxBot 只是單純的 python script, 在安裝完Python 的執行檔後, 就可以被執行. 請參考看看這篇文章的執行方法:
https://max-everyday.com/2023/11/buy-ticket-by-vm/


原因: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還是不行,請「重新開機」試看看,因為程式要關閉後,才會重新去查詢系統的授權設定值。


原因:python 版本太新

如果你出現錯誤訊息: No module named ‘distutils’

解法: 請降低 Python 版本為 3.10.11 版。

在 macOS 裡,如何切換 python 版本

網路上有很多做法,

解法1

比較簡單的是在 Terminal app 裡,執行:

sudo rm -rf /Library/Frameworks/Python.framework/
sudo rm -rf /usr/local/bin/python*

然後再到下面的網址裡挑選想要的 Stable release(穩定版的)python 版本即可:
https://www.python.org/downloads/macos/

建議使用 python 3.10.11
https://www.python.org/downloads/release/python-31011/

解法2

在Ternimal app 裡,安裝Homebrew 之後,執行 brew 指令也可以安裝指定依存套件。

如果你的 macOS 是非常古老的版本(例如:macOS 10.x),你在安裝 ddddocr 時,可能會被 opencv-python-hesdless 卡住,卡住的畫面:

解法很簡單:
python3 在 macOS 安裝opencv-python失敗的解法
https://stackoverflow.max-everyday.com/2023/08/python3-macos-opencv-python/


原因:macOS 使用 ARM CPU

由於第三方ocr 元件暫時還不支援 ARM CPU, 所以 mac 家的新電腦, 是無法直接使用, 在 ARM 環境下安裝 ddddocr 第三方套件, 會顯示下面的錯誤訊:

No module named ‘pyperclip’

解法有2個,

解法2, 感謝網友 AnselCh 整理了一下ARM晶片使用ddddorc猜驗證碼的流程

建立環境 這邊使用conda + python3.10

CONDA_SUBDIR=osx-64 conda create -n rosetta python=3.10

切換環境確認切到x86

conda activate rosetta
python -c "import platform;print(platform.machine())"
#x86_64

安裝套件

brew reinstall onnxruntime
pip install chromedriver_autoinstaller
pip install -r pip-req.txt

執行Max機器人

python3 ./settings.py

網友 AnselCh 心得: PS. M1 Sonoma 版本14.2.1 使用Brave跑起來最順

在 ARM CPU 安裝 INTEL CPU 執行環境的相關文章:


原因:Windows / macOS / Linux 的 python 缺少第三方套件

通常執行指令 python -m pip install -r pip-req.txt 之後,相依的套件應該都會被安裝。但也有例外的時候。

如果遇到有缺少的第三方套件時,可能會顯示訊息:

ModuleNotFoundError: No module named 'chromedriver_autoinstaller_max'

如果遇到以上的訊息,

解法很簡單,開啟 terminal 輸入指令:

python -m pip install chromedriver-autoinstaller-max

附註:如果您的環境有多個python 版本,如果是使用 python settings.py 來執行,這個時候,程式先會去執行 python3 chrome_tixcraft.py, 然後會去挑戰執行 python chrome_tixcraft.py.
這時候,建議您的 python3 是指定到您預期的 python 版本。或是不要在 settings.py 的界面按下搶票的按鈕,自己另外再開一個Terminal App 來執行 python chrome_tixcraft.py 指令。


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

類似的錯誤畫面:

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

Failed to download chromedriver archive.

往上一點,可以看到程式挑戰去下載 webdriver 很多次,但是自動下都失敗了,英文訊息是顯示:

download web from url: htto://edgedl.me.gvtl.com/...

解法:

  • 解法1:按「搶票」按鈕,多試失敗幾次就會成功自動下載 webdriver。
  • 解法2:手動複製上面黑色視窗裡顯示的網址,貼上到你的瀏覽器,或把訊息傳給其他朋友,請別人幫你下載,你在取得 zip 檔後, 請解壓縮這個 zip 檔, 把 zip 檔裡的 chromedriver.exe 放到 \webdriver\ 目錄裡, 再按一次「搶票」按鈕就不會顯示上面的錯誤訊息。

macOS 下載到錯誤CPU 版本的第三方元件

部份 macOS arm CPU 的電腦,會下載到 INTEL CPU 的 webdriver, 這時候顯示錯誤訊息:

Bad CPU type in executable: ….

python 版本是 3.9.6 版,建議改用 python 3.10.11 版,要升級或降級 python 版本,參考:
https://max-everyday.com/2023/11/maxbot-troubleshooting/#distutils

從錯誤訊息可以看到,undetected_chromedriver 的 CPU 版本是錯的,應該python 在安裝時,安裝 INTEL CPU 的版本。

解法: 先到目錄 /Users/(your-account)/Library/Application Support/ 目錄下,刪除 undetected_chromedriver 目錄。

再重新安裝 python 3.10.11 的 macOS 64-bit universal2 版本的 installer 即可。

經測試,上面解法無用,其他的討論串在這裡:
[Errno 86] Bad CPU type in executable: ‘Users/abcd/Library/Application Support/undetected_chromedriver/….._chromedriver
https://github.com/ultrafunkamsterdam/undetected-chromedriver/issues/1020

解法1:

You need Rosetta 2 on your Mac:

softwareupdate --install-rosetta

解法2 :
https://github.com/max32002/tixcraft_bot/issues/82#issuecomment-1878986084

滿神奇的,我在使用中的 mac 也是 ARM CPU, 但沒有使用上面解法1 或解法2 就可以執行,完全沒遇到任何問題。


手動下載 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.11 遇到的問題會較少,相容性也較好。

按中正間黃色的 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 相同.

Q:請問我的chrome 是120.0.6099.100版本,應該要去哪裡找到最新的120 版 web driver?
我去https://googlechromelabs.github.io/chrome-for-testing/# 只有120.0.6099.71版本
並且我也無法打開URL https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.71/win64/chromedriver-win64.zip 總是出現無法連線到此頁面

A:/#stable 網頁裡列出來下載檔案就可以用。chrome driver 前面的主版號(120.) 與 chrome 瀏覽器一致, 應該就可以使用。


原因:recaptcha 的保護服務有瞬間的連線數上限

Q:搶票的網頁出現無法連線到recaptcha是什麼原因呢? 長達兩三分鐘。
A:recaptcha 的保護服務有瞬間的連線數上限,超過之後會出現錯誤訊息,或是可以進入沒有 recaptcha 保護(阻斷服務)的狀態, 就可以正常地使用搶票機器人。

搶票的網頁出現「無法連線至 reCAPTCHA服務」、「卡在查詢空位中」的解法只有創新帳號來解決,售票用的網頁伺服器也有單一伺服器連線上限的問題,所以售票系統會加開更多的伺服器來因該大量的連線需求,而用來疏散流量的技術叫負載平衡,萬一你的搶票需求被分配到一個忙錄的節點,你搶到票的機率就會大大降低,反之,你運氣好分配到人少的節點,也許因此增加搶到票的機率。

另外一個避卡 reCAPTCHA 造成問題的解法, 是延後1秒才開始搶票,可以在某一隻的分身使用的電腦,設定開始搶票時間為實際搶票時間, 例如: 13:00:00 開始搶, 就設成 13:00:00, 雖然慢了一秒才去搶,但是被 reCAPTCHA 擋的機率相對會低一點。

第一波進去的轉圈轉到顯示沒票,慢慢進去的可能反而有票,最佳解法就是狂創帳號,部份帳號第一波進去,部份帳號,整點之後再開始刷票。

設定開始搶票時間範例影片: https://youtu.be/eETZTajxBnY

https://youtu.be/eETZTajxBnY