Skip to content
This repository has been archived by the owner on Dec 1, 2023. It is now read-only.

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

Closed
ray1025 opened this issue May 2, 2023 · 32 comments
Closed

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

ray1025 opened this issue May 2, 2023 · 32 comments
Assignees
Labels
bug Something isn't working

Comments

@ray1025
Copy link

ray1025 commented May 2, 2023

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

@wdzeng
Copy link
Owner

wdzeng commented May 2, 2023

我會再確認👀👀

@wdzeng wdzeng self-assigned this May 2, 2023
@wdzeng wdzeng added the bug Something isn't working label May 2, 2023
@anlo1220
Copy link

anlo1220 commented May 2, 2023

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

@danielhuang-030
Copy link

danielhuang-030 commented May 3, 2023

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

@ray1025
Copy link
Author

ray1025 commented May 3, 2023

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

@ray1025
Copy link
Author

ray1025 commented May 3, 2023

今天用bot還是GG...

@wdzeng
Copy link
Owner

wdzeng commented May 3, 2023

我晚上修。

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

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

這樣的描述正確嗎?

@ray1025
Copy link
Author

ray1025 commented May 3, 2023

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

@ray1025
Copy link
Author

ray1025 commented May 3, 2023

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

@hijacker000
Copy link

hijacker000 commented May 3, 2023

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

@Supoyuan
Copy link

Supoyuan commented May 6, 2023

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

@wdzeng
Copy link
Owner

wdzeng commented May 6, 2023

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

是,我懷疑這才是原因

@ray1025
Copy link
Author

ray1025 commented May 6, 2023

1111

@ray1025
Copy link
Author

ray1025 commented May 6, 2023

限制相同裝置...

@wdzeng
Copy link
Owner

wdzeng commented May 6, 2023

限制相同裝置...

1111

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

@hijacker000
Copy link

hijacker000 commented May 6, 2023

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

@wdzeng
Copy link
Owner

wdzeng commented May 6, 2023

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

不太可能吧

@wdzeng wdzeng changed the title 蝦皮的認證機制 蝦皮簽到失敗 May 6, 2023
@wdzeng wdzeng changed the title 蝦皮簽到失敗 蝦皮簽到成功,但實際上沒有領到蝦幣 May 6, 2023
@wdzeng
Copy link
Owner

wdzeng commented May 6, 2023

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

@wdzeng
Copy link
Owner

wdzeng commented May 13, 2023

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

@wdzeng
Copy link
Owner

wdzeng commented May 14, 2023

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

不太可能吧

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

@hijacker000
Copy link

hijacker000 commented May 14, 2023

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

不太可能吧

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

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

@a6428775
Copy link

a6428775 commented May 14, 2023

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

不太可能吧

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

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

options = Options()
options.add_argument("--disable-blink-features")
options.add_argument("--disable-blink-features=AutomationControlled")

@wdzeng
Copy link
Owner

wdzeng commented May 16, 2023

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

不太可能吧

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

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

行不通 QaQ

@a6428775
Copy link

a6428775 commented May 16, 2023

所有者

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

@000hen
Copy link

000hen commented May 16, 2023

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

不太可能吧

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

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

行不通 QaQ

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

@EugeneBrave
Copy link

EugeneBrave commented May 18, 2023

我在猜他不是能測 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
Copy link
Owner

wdzeng commented May 18, 2023

我在猜他不是能測 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
Copy link

EugeneBrave commented May 18, 2023

我在猜他不是能測 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

@ray1025
Copy link
Author

ray1025 commented May 18, 2023

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

@wdzeng wdzeng closed this as completed in 026da46 May 19, 2023
@wdzeng
Copy link
Owner

wdzeng commented May 19, 2023

我在猜他不是能測 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
Copy link
Owner

wdzeng commented May 19, 2023

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

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

@wdzeng wdzeng changed the title 蝦皮簽到成功,但實際上沒有領到蝦幣 因為被偵測自動化程式而簽到失敗 May 19, 2023
@ray1025
Copy link
Author

ray1025 commented May 19, 2023

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

@anlo1220
Copy link

同樣v1.3.0測試正常 感謝

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants