Я пытаюсь полуавтоматизировать запрос на веб-сайт для собственного использования, но у меня возникают проблемы. На веб-сайте используются recaptcha и cloudflare (нет, я не прошу обхода или чего-то в этом роде), поэтому я вручную захожу на веб-сайт и вставляю созданный мной Cook ie в свой код. Мне нужно сделать запрос GET, и приведенный ниже код работает, но он сообщает мне, что мне нужно включить javascript, чтобы продолжить работу с веб-сайтом.
def getRequest():
value1 = "100"
value2 = "80"
value3 = "90000"
header={
"Accept" : "*/*",
"accept-encoding" : "identity",
"accept-language" : "en-US,en;q=0.9",
"cookie" : -valid cookie I insert-,
"user-agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
}
response = requests.get('https://website.com/includes/ajax/user/hub.php?type=start&value1='+value1+'&value2='+value2+'&value3='+value3,headers=header)
print(response.content)
Затем я перешел на селен, но я не могу автоматизировать завершение рекапчи при входе в систему, поэтому я попытался проверить, могу ли я использовать действительный созданный мною cook ie и просто запросить страницу.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
def main():
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(executable_path='C:/Users/Admin/Desktop/chromedriver.exe')
#this would be a cookie a generated manually
cookie={'__cfduid':'x','PHPSESSID':'x', '_ga':'x','_gid':'x','__tawkuuid':'x','cf_clearance':'x','OMITCDN':'x','username':'x'}
driver.add_cookie(cookie)
driver.get("https://website.com/hub.php")
I никогда по-настоящему не использовал селен, но когда я запустил скрипт, я получил эти ошибки.
[15636:14760:0508/022258.035:ERROR:browser_switcher_service.cc(238)] XXX Init()
Traceback (most recent call last):
File "sele.py", line 33, in <module>
main()
File "sele.py", line 16, in main
driver.add_cookie(cookie)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 894, in add_cookie
self.execute(Command.ADD_COOKIE, {'cookie': cookie_dict})
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: missing 'name'
Я не знаю, правильно ли я добавил повар ie, но даже если бы он был правильно ли веб-сайт аутентифицирует браузер и разрешает ему посещать страницу? Или есть способ объединить запросы с селеном, чтобы упростить процесс добавления действующего Cook ie и включения javascript?