在将其作为重复项删除之前,我已经尝试了此处提供的所有选项:是否有无法检测到的 Selenium WebDriver 版本?.
我正在尝试用 Python 创建一个 Selenium 机器人,它可以成功登录,而不会因机器人检测而被阻止。我当前的脚本如下,我创建了一个测试帐户,任何人都可以访问并帮助我完成这项工作。理想情况下,这里的正确答案是我可以使用的该脚本的工作版本。
用户名:TestAccount
密码:StackOverflowPass1
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import time
##### open depop 'likes' page #####
url = "https://www.depop.com/login/"
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get(url)
driver.implicitly_wait(2)
driver.get(url)
time.sleep(2)
accept_cookies = driver.find_element_by_xpath('/html/body/div[1]/div/div[3]/div[2]/button[2]')
accept_cookies.click()
time.sleep(2)
username = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/form/div[1]/input')
username.send_keys('TestAccount1')
password = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/form/div[3]/div/input')
password.send_keys('StackOverflowPass1')
login_button = driver.find_element_by_xpath('/html/body/div[1]/div/div/div[1]/form/button')
login_button.click()
我在登录 Gmail 时遇到了同样的问题。我花了一个星期都无法解决这个问题。我 99% 确信您无法绕过机器人检测。我是如何解决的:
我已经创建了 Chrome 帐户,我的 Gmail 将始终登录该帐户(禁用 2FA)。然后我以该用户身份启动 chrome。当我已经登录 Gmail 时,机器人检测不再是问题。也许您应该尝试相同的操作,将此命令添加到您的驱动程序类中:
options.add_argument("user-data-dir=/Users/alexiseggermont/Library/Application Support/Google/Chrome/Default/")
此路径适用于 Mac 或 Linux 操作系统。另外,将“默认”重命名为您的个人资料 ID(对我来说,在大多数情况下,它是“个人资料 1”)
我尝试了上面的方法,但是 Chrome 会崩溃并且无法访问驱动程序。你遇到过这种情况吗?谢谢