Ошибка 405 при входе в систему с селеном - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь использовать автоматический вход на сайт, используя селен через pyhton, но выдает ошибку http: 405 «Извините за прерывание. Что-то в вашем браузере заставило нас думать, что вы бот» Что я могу сделать, чтобы избежать этого ? Я хотел бы видеть выполнение в реальном времени, чтобы проверить, работает ли код правильно, чего я не могу сделать, если использую его в режиме без головы. Я не прав?

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC


usernameStr = 'bucmi1@yandex.com'
passwordStr = 'pmz4'

browser = webdriver.Chrome()
browser.get(('https://www.milanuncios.com/mis-anuncios/'))

# fill in username and strike a subsequent button
username = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'email')))
username.send_keys(usernameStr)


# wait for transition then continue to fill items
password = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.ID, 'contra')))
password.send_keys(passwordStr)

signInButton = browser.find_element_by_class_name('submit btnSend')
signInButton.click()

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Спасибо за ответы!Проблема была связана с папкой моего профиля по умолчанию.Не знаю точно, что, поскольку есть много файлов, которые я не понимаю.Но как только я создал новый, используя options.add_argument("user-data-dir=C:\\dir\\of\\example\\profile"), можно было получить доступ без проблем.

0 голосов
/ 25 апреля 2018

Непонятно, почему вы получили сообщение об ошибке:

http: 405 error "Pardon our Interruption. something about your browser made us think you were a bot"

Но я смог успешно войти в систему через учетные данные, которые вы предоставили с вашим собственным кодом, добавив некоторыенезначительные изменения в chrome.options в режиме инкогнито следующим образом:

  • Кодовый блок:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    usernameStr = 'bucmi1@yandex.com'
    passwordStr = 'pmz4'
    options = Options()
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    options.add_argument('--incognito')
    browser = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    browser.get(('https://www.milanuncios.com/mis-anuncios/'))
    # fill in username and strike a subsequent button
    username = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, 'email')))
    username.send_keys(usernameStr)
    # wait for transition then continue to fill items
    password = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, 'contra')))
    password.send_keys(passwordStr)
    signInButton = browser.find_element_by_css_selector("div.btnEnviarFrm>input.submit.btnSend[value^='INICIAR']")
    signInButton.click()
    

Снимок браузера:

you were a bot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...