Selenium "Please verify you are a human" 在 Firefox 中弹出
Selenium "Please verify you are a human" Popup in Firefox
我很好奇是否有人找到解决方法来处理使用 Selenium 和 BeautifulSoup 时 FireFox 中随机弹出的“请验证您是人类”。目前,它大约每 500 或 1,000 个 URL 请求弹出一次,但我希望有一个自动化的解决方法。
我的驱动只是默认的driver = webdriver.Firefox()
selenium。弹出窗口是一个按住按钮(下图),我刚刚看到它弹出时手动完成。任何信息都将非常感谢!
所以我想出了一个解决方法。由于 URL 在出现 'Please verify you are human' 弹出窗口时实际上并没有更改/重定向,因此我在使用 beautifulSoup.
获取元素之前添加了一个步骤
对于正在抓取的列表中的每个 URL,我都会执行 time.sleep(5.5)
以允许 URL 完全加载或出现验证弹出窗口。然后,我与 URL 交互并寻找验证指标。对于 StockX,它是这样工作的:如果为真,请尝试 soup.find('div', class_='page-title').text
,如果找到 '\nPlease verify you are a human\n'
,则关闭浏览器并休眠(driver.quit()
和 time.sleep(20)
),否则抓取元素。
我没有编写完整的代码来工作,但我知道我可以检测它是否是如上所述的验证页面。像下面这样的东西可能是:
for url in url_list:
for attempt in range(5):
try:
if soup.find('div', class_='page-title').text == '\nPlease verify you are a human\n':
driver.quit()
time.sleep(20)
else:
scrape_everything()
except:
print(f'Hit Verify Page Attempt Num.: {attempt}')
else:
break
else:
continue
我很好奇是否有人找到解决方法来处理使用 Selenium 和 BeautifulSoup 时 FireFox 中随机弹出的“请验证您是人类”。目前,它大约每 500 或 1,000 个 URL 请求弹出一次,但我希望有一个自动化的解决方法。
我的驱动只是默认的driver = webdriver.Firefox()
selenium。弹出窗口是一个按住按钮(下图),我刚刚看到它弹出时手动完成。任何信息都将非常感谢!
所以我想出了一个解决方法。由于 URL 在出现 'Please verify you are human' 弹出窗口时实际上并没有更改/重定向,因此我在使用 beautifulSoup.
获取元素之前添加了一个步骤对于正在抓取的列表中的每个 URL,我都会执行 time.sleep(5.5)
以允许 URL 完全加载或出现验证弹出窗口。然后,我与 URL 交互并寻找验证指标。对于 StockX,它是这样工作的:如果为真,请尝试 soup.find('div', class_='page-title').text
,如果找到 '\nPlease verify you are a human\n'
,则关闭浏览器并休眠(driver.quit()
和 time.sleep(20)
),否则抓取元素。
我没有编写完整的代码来工作,但我知道我可以检测它是否是如上所述的验证页面。像下面这样的东西可能是:
for url in url_list:
for attempt in range(5):
try:
if soup.find('div', class_='page-title').text == '\nPlease verify you are a human\n':
driver.quit()
time.sleep(20)
else:
scrape_everything()
except:
print(f'Hit Verify Page Attempt Num.: {attempt}')
else:
break
else:
continue