Я выполнил ваш вариант использования для загрузки веб-страницы по адресу https://www.riachuelo.com.br/feminino/colecao-feminino, используя Selenium следующим образом:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.riachuelo.com.br/feminino/colecao-feminino')
Точно так же, согласно вашему наблюдению, я ударил то же препятствие, что веб-страница никогда не загружается. :
Анализ
При проверке DOM Tree веб-страницы вы обнаружите, что некоторые из тегов <iframe>
, <script>
ссылаются на ключевое слово dist . Например:
src="https://dtbot.directtalk.com.br/1.0/staticbot/dist/js/../index.html#!/?token=c243ce95-db6c-4ab6-9f2b-bf60d69c2d3d&widget=true&top=40&text=Alguma%20d%C3%BAvida%3F&textcolor=ffffff&bgcolor=4E1D3A&from=bottomRigth"
<script id="dtbot-script" src="https://dtbot.directtalk.com.br/1.0/staticbot/dist/js/dtbot.js?token=c243ce95-db6c-4ab6-9f2b-bf60d69c2d3d&widget=true&top=40&text=Alguma%20d%C3%BAvida%3F&textcolor=ffffff&bgcolor=4E1D3A&from=bottomRigth"></script>
Это явный признак того, что веб-сайт защищен Bot Management. поставщик услуг Distil Networks и навигация с помощью ChromeDriver обнаруживается и впоследствии блокируется .
Distil
Согласно статье Что-то действительно есть о Distil.it ... :
Distil защищает сайты от автоматических c ботов, считывающих контент наблюдая за поведением сайта и выявляя закономерности, характерные для парсеров. Когда Distil обнаруживает вредоносного бота на одном сайте, он создает поведенческий профиль из черного списка, который развертывается для всех своих клиентов. Что-то вроде брандмауэра ботов, Distil обнаруживает закономерности и реагирует. "Even though they can create new bots, we figured out a way to identify Selenium the a tool they're using, so we're blocking Selenium no matter how many times they iterate on that bot. We're doing that now with Python and a lot of different technologies. Once we see a pattern emerge from one type of bot, then we work to reverse engineer the technology they use and identify it as malicious".
Ссылка
Вы можете найти пару подробных обсуждений в: