wdzeng / shopee-coins-bot

💰 蝦皮簽到機器人 💰
MIT License
444 stars 800 forks source link

因為被偵測自動化程式而簽到失敗 #53

Closed ray1025 closed 1 year ago

ray1025 commented 1 year ago

最近 bot 都有成功,但是蝦幣都無法領到,在不同天時有嘗試過切換 IP 也沒用,研判蝦皮有加入裝置的認證機制,一個裝置一天可能只領一次。docker 打包檔的裝置資訊有辦法設定隨機嗎?

wdzeng commented 1 year ago

我會再確認👀👀

anlo1220 commented 1 year ago

同樣問題 會顯示明天領取0.1但是紀錄都沒 不同IP&不同天測試都依樣 隔天手動可以按簽到 image

danielhuang-030 commented 1 year ago

+1 手動簽到沒問題,但透過機器人簽到後就會強制回溯到第一天 當天沒有取得蝦幣也無法再點擊,換日後才能正常點擊 從記錄看起來應該是 4/28 開始的?

ray1025 commented 1 year ago

我是 4/24 以前都正常,4/25 開始遇到這問題,4/26 ~ 4/30 換過 IP 還是沒用,中間 5/1 有暫停 bot,手動點正常,5/2 用 bot 又GG...

ray1025 commented 1 year ago

今天用bot還是GG...

wdzeng commented 1 year ago

我晚上修。

可以請各位詳細描述遇到的狀況嗎?我目前的理解是:

即使先前已經連續簽到多天,只要一使用 bot,簽到就不會成功。並且隔天開始又會從第一天開始計數。

這樣的描述正確嗎?

ray1025 commented 1 year ago

回報 @wdzeng 不是唷。是 bot 本身有正常成功執行,但蝦皮無獲得蝦幣紀錄,而且連續簽到中斷重新計算。

ray1025 commented 1 year ago

我個人研判蝦皮網頁簽到,會讀取裝置資訊。同個裝置資訊,一天只會給一次蝦幣。

hijacker000 commented 1 year ago

我也遇到同樣問題 所以這幾天,我乾脆自己用 python+playwright 寫程式自動簽到 前幾天簽到都可以,但今天簽到竟然也發生同樣的問題 我是在我自己電腦上執行的,所以應該不是 ip 的問題

Supoyuan commented 1 year ago

應該是蝦皮加了什麼東西防止機器人自動簽到吧 要抓手機封包才知道了

wdzeng commented 1 year ago

應該是蝦皮加了什麼東西防止機器人自動簽到吧 要抓手機封包才知道了

是,我懷疑這才是原因

ray1025 commented 1 year ago

1111

ray1025 commented 1 year ago

限制相同裝置...

wdzeng commented 1 year ago

限制相同裝置...

1111

這個資訊很實用喔,感謝!

hijacker000 commented 1 year ago

我是在猜他是不是能偵測 chrome 的 headless 模式

wdzeng commented 1 year ago

我是在猜他是不是能偵測chrome的headless模式

不太可能吧

wdzeng commented 1 year ago

這個週末太忙了沒辦法修,請各位再等幾天,不好意思了

wdzeng commented 1 year ago

確認能夠重現。因為只有一支帳號沒辦法做太多試驗,看看明天能不能修好。

wdzeng commented 1 year ago

我是在猜他是不是能偵測chrome的headless模式

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜 shopee 最近有摻驗 headless 的設定。

hijacker000 commented 1 year ago

我是在猜他是不是能偵測chrome的headless模式

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜 shopee 最近有摻驗 headless 的設定。

我是用 playwright,firefox 的 headless 模式目前是可以用

a6428775 commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除 webdriver 特征,好像就可以了。

options = Options()
options.add_argument("--disable-blink-features")
options.add_argument("--disable-blink-features=AutomationControlled")
wdzeng commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

a6428775 commented 1 year ago

所有者

咦!! 我是直接用 python + selenium 但沒有使用無頭模式, 但原本也是簽到後會成功簽到,但無法獲得蝦幣。 我去除 webdriver 特性後,簽到成功後就順利獲得蝦幣了。 給您參考~~

000hen commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

要不要試試看在頁面載入之前把navigator.webdriver封鎖

EugeneBrave commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

要不要試試看在頁面載入之前把navigator.webdriver封鎖

確實,我用 python 在 driver.get 之前去執行execute_cdp_cmd,把 navigator.webdriver 消除掉後,看起來就能正常收幣了。

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get(urlLogin)
wdzeng commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

要不要試試看在頁面載入之前把navigator.webdriver封鎖

確實,我用python在driver.get之前去執行execute_cdp_cmd,把navigator.webdriver消除掉後,看起來就能正常收幣了。

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get(urlLogin)

我用的語言是 NodeJS,但找不到對應的寫法 orz

EugeneBrave commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

要不要試試看在頁面載入之前把navigator.webdriver封鎖

確實,我用python在driver.get之前去執行execute_cdp_cmd,把navigator.webdriver消除掉後,看起來就能正常收幣了。

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get(urlLogin)

我用的語言是 NodeJS,但找不到對應的寫法 orz

我有查到 nodejs 可以用 sendDevToolsCommand 來達成,但這是 2021 年的做法,不知道現在行不行得通?

  const command_result = await driver.sendDevToolsCommand(
    "Page.addScriptToEvaluateOnNewDocument",
    {
      source: `
        Object.defineProperty(navigator, 'webdriver', {
          get: () => undefined
        })
      `,
    }
  );
  console.log(command_result);

from: https://github.com/SeleniumHQ/selenium/issues/8636

ray1025 commented 1 year ago

如果用目前版本簽,現在蝦皮直接顯示簽到失敗,然後鎖到隔日凌晨零時才開放再簽。bot會卡在這裡... GG

wdzeng commented 1 year ago

我在猜他不是能測 chrome 的無頭模型

不太可能吧

打臉我自己。這個很可能就是問題來源,我猜shopee最近有試驗headless的設置。

去除webdriver特征,好像就可以了。 options = Options() options.add_argument("--disable-blink-features") options.add_argument("--disable-blink-features=AutomationControlled")

行不通 QaQ

要不要試試看在頁面載入之前把navigator.webdriver封鎖

確實,我用python在driver.get之前去執行execute_cdp_cmd,把navigator.webdriver消除掉後,看起來就能正常收幣了。

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  """
})
driver.get(urlLogin)

我用的語言是 NodeJS,但找不到對應的寫法 orz

我有查到nodejs可以用sendDevToolsCommand來達成,但這是2021年的做法,不知道現在行不行得通?

  const command_result = await driver.sendDevToolsCommand(
    "Page.addScriptToEvaluateOnNewDocument",
    {
      source: `
        Object.defineProperty(navigator, 'webdriver', {
          get: () => undefined
        })
      `,
    }
  );
  console.log(command_result);

from: SeleniumHQ/selenium#8636

神仙解藥

wdzeng commented 1 year ago

請試試看 v1.3.0,也感謝各位的幫忙!

若某日已用舊版機器人已經簽到失敗,則當日再使用新版亦會失敗,請待隔日再用新版嘗試。

ray1025 commented 1 year ago

v1.3.0測試正常,感謝各位大神。

anlo1220 commented 1 year ago

同樣v1.3.0測試正常 感謝