如何使用Selenium WebDriver规避沃尔玛的封锁 [英] How to evade blocking by Walmart using Selenium Webdriver

查看:66
本文介绍了如何使用Selenium WebDriver规避沃尔玛的封锁的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习python,我做过一些机器人(没什么特别的),我正试图在沃尔玛上创建一个新的机器人,但当我启动chromedriver时,沃尔玛网站要求我解决验证码,这不是问题,因为我可以手动解决它。问题是,每次我解验证码时,验证码都会再次出现。我的机器人要求我登录沃尔玛网站,所以我测试了谷歌Chrome(不是chromedriver),我可以毫无问题地登录。我以为可能是我的IP或者其他什么,但是经过一些测试,我意识到如果我使用chromeDriver,沃尔玛挡路会取消登录过程。

以下是我的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

options.add_argument("user-data-dir=C:\Users\PCHOME\AppData\Local\Temp\scoped1\Default\gdps");
driver = webdriver.Chrome(executable_path=r'dchromechromedriver.exe', options=options)

driver.get("https://www.walmart.com/")

在这种情况下,我尝试手动登录(我已经尝试使用bot)。该网站加载良好,但验证码不允许我登录,它只是出现,出现和出现… 这是验证码img:

我按住按钮直到验证码清除,然后显示符号✓,然后再次显示验证码。 有什么主意吗?谢谢!

推荐答案

为避免被检测为Selenium驱动ChromeDriver启动浏览上下文,您需要按如下方式使用参数--disable-blink-features=AutomationControlled

挡路代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.add_argument("start-maximized")
# Avoiding detection
options.add_argument('--disable-blink-features=AutomationControlled')

s = Service('C:\BrowserDrivers\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
driver.get("https://www.walmart.com/")

浏览器快照:

这篇关于如何使用Selenium WebDriver规避沃尔玛的封锁的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆