私はChromedriverでSeleniumをテストしてみましたが、自動化がまったくなくても、一部のページでSeleniumの使用を検出できることに気付きました。SeleniumとXephyrでChromeを使用して手動で閲覧しているだけでも、不審なアクティビティが検出されたというページがよく表示されます。ユーザーエージェントとブラウザの指紋を確認しましたが、すべて通常のChromeブラウザとまったく同じです。
これらのサイトを通常のChromeで閲覧すると、すべて正常に動作しますが、Seleniumを使用した瞬間に検出されます。
理論的には、chromedriverとchromeはどのWebサーバーでも文字通りまったく同じに見えるはずですが、どういうわけかそれらを検出できます。
テストコードが必要な場合は、これを試してください:
from pyvirtualdisplay import Display
from selenium import webdriver
display = Display(visible=1, size=(1600, 902))
display.start()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-plugins-discovery");
chrome_options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.delete_all_cookies()
driver.set_window_size(800,800)
driver.set_window_position(0,0)
print 'arguments done'
driver.get('http://stubhub.com')
スタブハブを参照すると、1つまたは2つのリクエストでリダイレクトされ、「ブロック」されます。私はこれを調査しており、ユーザーがSeleniumを使用していることを彼らがどのように知ることができるかわかりません。
どうやってやっているの?
更新を編集:
FirefoxにSelenium IDEプラグインをインストールしましたが、追加のプラグインのみを使用して通常のFirefoxブラウザでstubhub.comにアクセスすると禁止されました。
編集:
Fiddlerを使用して、送受信されるHTTPリクエストを表示すると、「偽のブラウザー」のリクエストの応答ヘッダーに「no-cache」が含まれていることがよくあります。
編集:
このような結果JavascriptからSelenium Webdriverページにいることを検出する方法はありますかWebドライバーを使用しているときに検出する方法はないはずです。しかし、この証拠はそうでないことを示唆しています。
編集:
サイトはサーバーにフィンガープリントをアップロードしていますが、チェックしたところ、セレンのフィンガープリントはクロムを使用した場合のフィンガープリントと同じです。
編集:
これは、サーバーに送信するフィンガープリントペイロードの1つです。
{"appName":"Netscape","platform":"Linuxx86_64","cookies":1,"syslang":"en-US","userlang":"en-US","cpu":"","productSub":"20030107","setTimeout":1,"setInterval":1,"plugins":{"0":"ChromePDFViewer","1":"ShockwaveFlash","2":"WidevineContentDecryptionModule","3":"NativeClient","4":"ChromePDFViewer"},"mimeTypes":{"0":"application/pdf","1":"ShockwaveFlashapplication/x-shockwave-flash","2":"FutureSplashPlayerapplication/futuresplash","3":"WidevineContentDecryptionModuleapplication/x-ppapi-widevine-cdm","4":"NativeClientExecutableapplication/x-nacl","5":"PortableNativeClientExecutableapplication/x-pnacl","6":"PortableDocumentFormatapplication/x-google-chrome-pdf"},"screen":{"width":1600,"height":900,"colorDepth":24},"fonts":{"0":"monospace","1":"DejaVuSerif","2":"Georgia","3":"DejaVuSans","4":"TrebuchetMS","5":"Verdana","6":"AndaleMono","7":"DejaVuSansMono","8":"LiberationMono","9":"NimbusMonoL","10":"CourierNew","11":"Courier"}}
セレンとクロムで同じ
編集:
VPNは1回の使用で機能しますが、最初のページをロードした後で検出されます。明らかに、Seleniumを検出するためにいくつかのJavaScriptが実行されています。
distill
ボット検出技術を使用しておよびコンテンツ提供akamaitechnologies.com
切り抜いたIPSなどからCDNを95.100.59.245
、104.70.243.66
、23.202.161.241