Lewati ke konten utama
Semua KoleksiPengaturan, Integrasi, dan Perintah APIPanduan Konfigurasi
Teks Konten: Selenium dengan Autentikasi Nama Pengguna dan Kata Sandi (Kunci API)
Teks Konten: Selenium dengan Autentikasi Nama Pengguna dan Kata Sandi (Kunci API)

Cara mengonfigurasi proxy Proxyrack Anda di Selenium menggunakan nama pengguna dan kata sandi (kunci API) Anda

Evan avatar
Ditulis oleh Evan
Diperbarui lebih dari satu minggu yang lalu

Selenium tidak mengizinkan Anda menggunakan autentikasi nama pengguna dan kata sandi (kunci API) secara default. Anda dapat menggunakan solusi di bawah ini untuk melakukannya sebagai pengganti daftar putih IP.

import osimport zipfilefrom selenium import webdriverPROXY_HOST = 'premium.residential.proxyrack.net'  # ini untuk proxy Premium Residential. Anda dapat mengganti DNS dari layanan yang Anda gunakanPROXY_PORT = 9000 # port (gunakan "10000" untuk port yang tetap)PROXY_USER = 'user' # nama pengguna AndaPROXY_PASS = 'password' # kata sandi Anda (kunci API)manifest_json = """{    "version": "1.0.0",    "manifest_version": 2,    "name": "Chrome Proxy",    "permissions": [        "proxy",        "tabs",        "unlimitedStorage",        "storage",        "<all_urls>",        "webRequest",        "webRequestBlocking"    ],    "background": {        "scripts": ["background.js"]    },    "minimum_chrome_version":"22.0.0"}"""background_js = """var config = {        mode: "fixed_servers",        rules: {        singleProxy: {            scheme: "http",            host: "%s",            port: parseInt(%s)        },        bypassList: ["localhost"]        }    };chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});function callbackFn(details) {    return {        authCredentials: {            username: "%s",            password: "%s"        }    };}chrome.webRequest.onAuthRequired.addListener(            callbackFn,            {urls: ["<all_urls>"]},            ['blocking']);""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)def get_chromedriver(use_proxy=False, user_agent=None):    path = os.path.dirname(os.path.abspath(__file__))    chrome_options = webdriver.ChromeOptions()    if use_proxy:        pluginfile = 'proxy_auth_plugin.zip'        with zipfile.ZipFile(pluginfile, 'w') as zp:            zp.writestr("manifest.json", manifest_json)            zp.writestr("background.js", background_js)        chrome_options.add_extension(pluginfile)    if user_agent:        chrome_options.add_argument('--user-agent=%s' % user_agent)    driver = webdriver.Chrome(        os.path.join(path, 'chromedriver'),        chrome_options=chrome_options)    return driverdef main():    driver = get_chromedriver(use_proxy=True)    driver.get('http://api.ipify.org/?format=json')  # url apa pun yang ingin Anda jelajahi
Apakah pertanyaan Anda terjawab?