繁体   English   中英

无法在 Chrome WebDriver 中使用 Selenium 登录 Target.com

[英]Unable to log in to Target.com using Selenium in Chrome WebDriver

我正在尝试使用 Python 中的 Selenium 和 Chrome WebDriver 登录 Target 的网站。

当系统提示我登录时,我使用以下代码:

self.browser.find_element_by_name("password").send_keys(pw)
self.browser.find_element_by_id("login").submit()

提交字段后,我在 DOM 中看到此错误:

DOM 错误警报

..这在控制台中:

401错误

笔记:

我试过在 Instagram 上使用 Selenium 登录,并且有效。所以我知道这与 Target 网站的结构有关。 有没有人遇到过这个问题?

谢谢!

所以我最初尝试使用 Chrome 解决这个问题,但无法弄清楚为什么在输入登录数据后页面不会出现。 我想也许该页面受到某些机器人软件的保护,但找不到任何证据。

我决定在我的 MAC 上尝试 Safari,实际上成功了。 请参阅以下代码:

import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

driver = webdriver.Safari(executable_path='/usr/bin/safaridriver')
driver.get('https://www.target.com/')
action = ActionChains(driver)
driver.find_element(By.XPATH, '//*[@id="account"]').click()
WebDriverWait(driver, 30).until(ec.presence_of_element_located((By.XPATH, '//*[@id="accountNav-signIn"]')))
action.send_keys(Keys.ENTER)
action.perform()
WebDriverWait(driver, 10).until(ec.presence_of_element_located((By.XPATH, '//h2[@class="sc-hMqMXs sc-esjQYD eXTUDl"]')))
driver.find_element(By.ID, 'username').click()
driver.find_element(By.ID, 'username').send_keys('foo')
time.sleep(5)
driver.find_element(By.ID, 'password').click()
driver.find_element(By.ID, 'password').send_keys('bar')
time.sleep(5)
driver.find_element(By.XPATH, "//button[@id=\'login\']").send_keys(Keys.ENTER)
time.sleep(10)
driver.quit()

你会注意到一些 time.sleeps,我用它来减慢程序速度(你可以把它们去掉)。

我也尝试了 FireFox 和 Edge,但遇到了与 Chrome 相同的问题。

结论,似乎有某种机器人保护阻止您使用 Chrome(还有 Edge 和 FireFox)。 鉴于这些网络驱动程序被检测为自动化。 Safari(我相信)没有被检测到。

我还建议阅读下面的帖子,它可能会提供更多见解。 网站通过 Selenium 可能使用 ChromeDriver 和 Chrome 导航到无访问页面可能受 Bot Protected

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM