提问者:小点点

如何使蟒蛇硒不易检测?


好的,所以我正在为这个网站制作一个机器人来自动创建帐户。我正在使用旋转ipv4代理和其他一些反检测的东西,但每次仍然被检测到。有什么想法吗?

以下是我初始化驱动程序的方式以及我使用的选项。

proxy = random.choice(proxys)
ua = UserAgent()
userAgent = ua.random

def main():
    options = webdriver.ChromeOptions()
    options.add_argument(r'--user-data-dir=my chrome user data directory here')
    options.add_argument(f'--proxy-server={proxy}')
    options.add_argument("start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    options.add_argument(f'user-agent={userAgent}')
    driver = uc.Chrome(service=Service(ChromeDriverManager(cache_valid_range=30).install()),options=options)
    driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
    print(driver.execute_script("return navigator.userAgent;"))
    sleep(1)
    while True:
        create_account(driver, catchall)

我也尝试过chrome配置文件,但我无法充分利用这些配置文件,并且想知道如何以某种方式实现这些配置文件。因为在网站检测到我是机器人之后,我使用的chrome配置文件似乎不再有效。

几乎不管发生什么,我每次都被网站屏蔽。尽管有时在我做了一些随机的改变后,它确实发生了。但是我希望现在一切都正常,因为他们能检测到的几乎所有东西都在被改变。


共1个答案

匿名用户

为了使Python硒几乎无法检测到,你最好的选择是使用硒隐形:

  • 通过所有公共机器人测试。
  • Selenium可以进行google帐户登录。
  • 保持正常的reCAPTCHA v3分数

>

  • 代码块:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.chrome.service import Service
    from selenium_stealth import stealth
    import time
    options = Options()
    options.add_argument("start-maximized")
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    options.add_experimental_option('useAutomationExtension', False)
    s = Service('C:\\BrowserDrivers\\chromedriver.exe')
    driver = webdriver.Chrome(service=s, options=options)
    
    # Selenium Stealth settings
    stealth(driver,
            languages=["en-US", "en"],
            vendor="Google Inc.",
            platform="Win32",
            webgl_vendor="Intel Inc.",
            renderer="Intel Iris OpenGL Engine",
            fix_hairline=True,
            )
    driver.get("https://bot.sannysoft.com")
    time.sleep(5)
    driver.save_screenshot("sannysoft.png")
    driver.quit()
    

    截图:

    您可以在以下链接中找到一些相关的详细讨论:

    • 如何自动登录到一个站点,该站点正在检测我使用selenium隐身登录的尝试
    • 网站可以检测到您何时将Selenium与chrome驱动程序一起使用吗?