urllib3.exceptions.MaxRetryError: HTTPConnectionPool (host = '127.0.0.1', port = 49951): максимальное количество повторных попыток превышено для URL с Selenium и Python - PullRequest
0 голосов
/ 16 июня 2019

Понятия не имею, как нажать эту кнопку.У него есть идентификаторы, такие как изображение и текст, но я не уверен, как использовать их в своих интересах.

Я пытался использовать XPATH, я пытался использовать текст, я пытался использоватьссылка на изображение, и я не могу заставить его работать

МОЙ КОД:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Continue Watching"))).click()

КНОПКА HTML:

<button style="margin-top: 15px;
            width: 240px;
            height: 46px;
            background-color: #69b8d6;
            margin: 50px auto;
            border-radius: 4px;
            color: white;
            display: block;
            margin-left: 159px;
            font-size: 16px;"><img style="padding-right:15px;" src="http://img.encrave.tv/global/watchCamcorder.png">Continue Watching</button>

Мои извинения, если эта кнопка HTMLпревращается в настоящую кнопку, я не совсем уверен, как с этим справиться.

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

поднять MaxRetryError (_pool, url, error или ResponseError (причина)) urllib3.exceptions.MaxRetryError: HTTPConnectionPool (host = '127.0.0.1 ', port = 49951): Максимальное количество повторных попыток превышено с помощью url: / session / 4100d1e939db4a44f287a50f5e9be234 / element (вызвано NewConnectionError (': не удалось установить новое соединение: [WinError 10061] Не удалось установить соединение, поскольку целевой компьютер активно отказывалсяэто '))

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

К click() на желаемом элементе вы должны вызвать WebDriverWait для element_to_be_clickable(), и вы можете использовать любое из следующих решений:

  • ИспользованиеCSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button>img[src*='tv/global/watchCamcorder']"))).click()
    
  • Использование XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[normalize-space() = 'Continue Watching']"))).click()
    
  • Примечание : необходимодобавьте следующие операции импорта:

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

PS : однако ошибка, которую вы видите как Невозможно установить соединение, поскольку целевой компьютер активно отказалсяэто связано с некоторыми другими причинами, и вы можете найти подробное обсуждение в MaxRetryError: HTTPConnectionPool: Превышено максимальное количество повторных попыток (вызвано ProtocolError («Соединение прервано», ошибка (111, «Соединение отклонено»)))

0 голосов
/ 16 июня 2019

Ну, вы пытаетесь найти его по LINK_TEXT, а не по ссылке

Можете попробовать это By.xpath("//*[text()='Continue Watching']"

...