Я пытаюсь автоматизировать несколько задач на веб-странице.
Для этого я использую Python, Selenium и Google Chrome.
Веб-странице, которую я, к сожалению, не могу опубликовать здесь, требуются имя пользователя и пароль.Я вошел в систему как пользователь на веб-странице уже через мой обычный браузер Google Chrome.
Когда я запускаю свой код и пытаюсь выполнить задачи в автономном режиме, я получаю сообщение «401 - Несанкционированный: доступотказано из-за неверных учетных данных ".Я запечатлел это сообщение используя скриншот в Python.
Однако, если я делаю те же самые шаги в обычном режиме (не без головы), веб-страница позволяет мне делать все, потому что я уже вошел в систему как пользователь.
ИзСообщение об ошибке, я понимаю, что мне нужно войти в систему. Однако мой вопрос: почему страница позволяет мне выполнять все задачи, когда она находится в видимом режиме, но блокирует меня, когда в режиме без головы?В обоих случаях я уже вошел в систему через мой обычный браузер Google Chrome.
Есть ли способ обойти это безголовый режим?
Пожалуйста, найдите мой код ниже:
import time, datetime, sys, os, openpyxl,logging
from unidecode import unidecode
start_time = time.time()
from datetime import datetime
os.system("cls")
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
CHROME_PATH = 'C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe'
CHROMEDRIVER_PATH = 'C:\\Users\\'+userID+'\\'+filename+'\\chromedriver.exe'
WINDOW_SIZE = "1920,1080"
chrome_options = Options()
#chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)
chrome_options.add_argument("disable-gpu")
chrome_options.add_argument("disable-infobars")
chrome_options.add_argument("--disable-notifications")
chrome_options.binary_location = CHROME_PATH
browser = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH,chrome_options=chrome_options)
time.sleep(1)
browser.get("*****enter URL here*****")#unfortunately I cannot show the URL here
os.system("cls")
time.sleep(2)