Saya telah menguji Selenium dengan Chromedriver dan saya perhatikan bahwa beberapa halaman dapat mendeteksi bahwa Anda menggunakan Selenium meskipun tidak ada otomatisasi sama sekali. Bahkan ketika saya hanya menjelajah secara manual hanya menggunakan chrome melalui Selenium dan Xephyr saya sering mendapatkan halaman yang mengatakan bahwa aktivitas mencurigakan terdeteksi. Saya telah memeriksa agen pengguna saya, dan sidik jari browser saya, dan semuanya persis sama dengan browser chrome normal.
Ketika saya menjelajah ke situs-situs ini di chrome normal semuanya berfungsi dengan baik, tetapi saat saya menggunakan Selenium saya terdeteksi.
Secara teori chromedriver dan chrome seharusnya terlihat persis sama persis dengan server web mana pun, tetapi entah bagaimana mereka dapat mendeteksinya.
Jika Anda ingin beberapa kode uji coba ini:
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')
Jika Anda menelusuri sekitar stubhub, Anda akan diarahkan dan 'diblokir' dalam satu atau dua permintaan. Saya telah menyelidiki ini dan saya tidak tahu bagaimana mereka bisa tahu bahwa pengguna menggunakan Selenium.
Bagaimana mereka melakukannya?
Perbarui EDIT:
Saya menginstal plugin Selenium IDE di Firefox dan saya diblokir ketika saya pergi ke stubhub.com di browser firefox normal hanya dengan plugin tambahan.
EDIT:
Ketika saya menggunakan Fiddler untuk melihat permintaan HTTP dikirim bolak-balik, saya perhatikan bahwa permintaan 'browser palsu' sering memiliki 'tanpa cache' di header respons.
EDIT:
hasil seperti ini Apakah ada cara untuk mendeteksi bahwa saya berada di halaman Selenium Webdriver dari Javascript menyarankan bahwa seharusnya tidak ada cara untuk mendeteksi ketika Anda menggunakan webdriver. Tetapi bukti ini menunjukkan sebaliknya.
EDIT:
Situs mengunggah sidik jari ke server mereka, tetapi saya memeriksa dan sidik jari selenium identik dengan sidik jari saat menggunakan chrome.
EDIT:
Ini adalah salah satu muatan sidik jari yang mereka kirim ke server mereka
{"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"}}
Ini identik dalam selenium dan chrome
EDIT:
VPN berfungsi untuk sekali pakai tetapi terdeteksi setelah saya memuat halaman pertama. Jelas beberapa javascript sedang dijalankan untuk mendeteksi Selenium.
distill
teknologi deteksi bot dan memberikan konten menggunakan akamaitechnologies.com
CDN dari berbeda ips misalnya 95.100.59.245
, 104.70.243.66
,23.202.161.241