Доступ к странице запрещен с помощью selenium

#python #selenium #selenium-webdriver

#python #селен #selenium-webdriver

Вопрос:

Я пытаюсь создать небольшое приложение, которое использует footlocker и удаляет определенные страницы с веб-сайта. Теперь я хочу создать приложение, начав с домашней страницы footlocker, а затем перейдя по разным разделам на веб-сайте. Ниже я привел пример одной из дополнительных ссылок, по которой я бы щелкнул, чтобы затем очистить. Проблема, с которой я сталкиваюсь, заключается в том, что, когда приложение находит кнопку и нажимает на нее, я перехожу на страницу с ошибкой, а затем, если я обновляю страницу, я получаю страницу с отказом в доступе. Если кто-нибудь может помочь мне с этой проблемой, я был бы очень признателен. Одна идея, которая, как я думал, может быть проблемой, должна была бы иметь дело с файлами cookie, но я недостаточно разбираюсь в веб-приложениях, чтобы знать, так ли это.

 webpage = r"http://www.footlocker.com/" 
driver = webdriver.Chrome(r'C:UserssalehDownloadschromedriver_win32chromedriver.exe')
driver.get(webpage)
driver.find_elements_by_xpath("//*[contains(text(), 'Sitemap')]")[0].click()
  

Комментарии:

1. Этот сайт был взломан навсегда isitdownrightnow.com/footlocker.com.html

2. Каковы ваши конечные цели? Что вы хотите сделать?

3. @PraysonW. Даниэль, сейчас я просто пытаюсь улучшить работу с удалением веб-страниц и научиться взаимодействовать с веб-сайтами, такими как footlocker, чтобы, надеюсь, создавать приложения, которые могут отслеживать определенные продукты на странице.

4. @Martheen Это не имеет смысла, потому что я могу получить доступ ко всем страницам в Chrome, но когда я использую webdriver. Вкладка Chrome я получаю ошибки отказа в доступе

Ответ №1:

Попробуйте имитировать то, что будет делать обычный браузер:

добавить заголовки

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

opts = Options()

# Add headers
user_agent =  ('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/39.0.2171.95 Safari/537.36')
opts.add_argument(f'user-agent={user_agent}')

# Remove the Automation Info 
opts.add_argument('--disable-infobars')

# if you move chromedriver.exe into C:Windows or C:Userssaleh or location where this code is executed, then you don’t have to pass it here

chrome_exe = r'C:UserssalehDownloadschromedriver_win32chromedriver.exe'

driver = webdriver.Chrome(chrome_exe, chrome_options=opts)
  

URL не должен повторять r

 webpage = 'http://www.footlocker.com/'
driver.get(webpage)
  

Наблюдайте за тем, что вы видите. Откройте инструменты разработчика и сначала выполните шаг вручную, наблюдая за элементами, с которыми вы взаимодействуете. Затем напишите код для выполнения тех же шагов.