Nano Hash - криптовалюты, майнинг, программирование

ConnectionAbortedError: [WinError 10053] Установленное соединение было прервано программным обеспечением на вашем хост-компьютере с помощью GeckoDriver и Firefox.

Я использую приведенный ниже скрипт Python для входа в службу отслеживания Fedex.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from time import sleep
driver = webdriver.Firefox()
driver.get("https://www.fedex.com/apps/fedextracking/?cntry_code=us&locale=us_en#")
sleep(5)
users = driver.find_element_by_xpath("//div[@class='fxg-field'][1]/input[@class='fxg-field__input-text']")
users.send_keys('test')
passwords = driver.find_element_by_xpath("//input[@id='pswd-input']")
passwords.send_keys('test')
sleep(3)
submit = driver.find_element_by_xpath("//button[@id='login']")
submit.click()

Он не показывает точную ошибку, но показывает эти ошибки:

File "test.py", line 10, in <module>
users = driver.find_element_by_xpath("//div[@class='fxg-field'][1]/input[@class='fxg-field__input-text']")
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 393, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 966, in find_element 'value': value})['value']
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 318, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 472, in execute
return self._request(command_info[0], url, body=data)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 495, in _request
self._conn.request(method, parsed_url.path, body, headers)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\http\client.py", line 1083, in request
self._send_request(method, url, body, headers)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\http\client.py", line 1128, in _send_request
self.endheaders(body)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\http\client.py", line 1079, in endheaders
self._send_output(message_body)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\http\client.py", line 913, in _send_output
self.send(message_body)
File "C:\Users\Home\AppData\Local\Programs\Python\Python35\lib\http\client.py", line 885, in send
self.sock.sendall(data)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

Он работает гладко в Google Chrome, но не работает с Firefox. Пожалуйста, помогите мне решить эту проблему.

ИЗМЕНИТЬ

Версия Firefox 57.0.4 (64-bit)

Селен версия 3.13.0

геккодрайвер 0.21.0

ОБНОВЛЕНИЕ

Проблема только с этим сайтом. Я попробовал другой сайт отслеживания, и все они работают с Firefox. Этот конкретный сайт не работает с Firefox.


Ответы:


1

Ваш блок кода был почти идеальным. Я взял ваш собственный код и внес несколько изменений, включая вызов WebDriverWait перед вызовом send_keys() в поле USER ID следующим образом:

  • Блок кода:

    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
    
    driver = webdriver.Firefox(executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
    driver.get("https://www.fedex.com/apps/fedextracking/?cntry_code=us&amp;locale=us_en#")
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='fxg-field__input-text' and @name='USER']"))).send_keys('test')
    driver.find_element_by_xpath("//input[@class='fxg-field__input-text' and @name='PASSWORD']").send_keys('test')
    driver.find_element_by_xpath("//button[@class='fxg-button fxg-button--orange' and @name='login']/span").click()
    
  • Снимки браузера:

    • USER ID and PASSWORD fields being filled up:

fedex_1

  • Ошибка из-за неправильных учетных данных:

fedex_2

16.08.2018
  • @CodeIt Наиболее очевидной причиной кажется, что OP пытался вызвать send_keys(), когда был активен JavaScript / Ajax Call. Таким образом, чтобы приспособиться к временному промежутку, мы вызвали WebDriverWait, который проведет нас через него. Дайте мне знать, если это ответит на ваш вопрос. 18.08.2018

  • 2

    Это может быть связано с используемой вами версией Firefox. Проверьте, какие версии браузера Firefox поддерживаются селеном. https://www.seleniumhq.org/about/platforms.jsp.

    Поддержка Firefox — это последний выпуск, предыдущий выпуск, последний выпуск ESR и предыдущий выпуск ESR.

    Например, Selenium 2.40.0 (выпущен 19 февраля 2014 г.) поддерживает Firefox 27, 26, 24, 17.

    Selenium с Firefox можно запускать на любой платформе, которую Firefox поддерживает для этих версий, что также позволяет пользователям устанавливать собственное расширение Firefox.

    16.08.2018
  • Моя версия поддерживается в соответствии с github.com/mozilla/geckodriver/releases. 16.08.2018

  • 3

    Вставка использования

    driver.find_element_by_xpath("//div[@class='fxg-field'][1]/input[@class='fxg-field__input-text']") 
    

    попробуй с

    driver.find_element_by_xpath(//input[@name="USER"])
    
    16.08.2018
  • Все еще не работает друг. Та же ошибка. У меня проблема только с сайтом FedEx. USPS работает нормально. 16.08.2018
  • Эта проблема может быть решена путем понижения версии geckodriver до 0.20.1 (64 бита). 16.08.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..