jubiiz / in_stock_inator

Check if your product is in stock.
Apache License 2.0
0 stars 0 forks source link

Can't search for more than 2 products in the same run #10

Open jubiiz opened 1 month ago

jubiiz commented 1 month ago

On branch 6-separate-availability-fct, on commit 13dda6ab10c7fe689a77ec011548e054ef8cc02c

execuring driver.get("any url") more than once in the same session yields:

Traceback (most recent call last):
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connection.py", line 196, in _new_conn
    sock = connection.create_connection(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 495, in _make_request
    conn.request(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connection.py", line 398, in request
    self.endheaders()
  File "/usr/lib/python3.10/http/client.py", line 1278, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.10/http/client.py", line 1038, in _send_output
    self.send(msg)
  File "/usr/lib/python3.10/http/client.py", line 976, in send
    self.connect()
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connection.py", line 236, in connect
    self.sock = self._new_conn()
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connection.py", line 211, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f0840d94fa0>: Failed to establish a new connection: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jubiiz/documents/code/in_stock_inator/src/stock_checker.py", line 63, in <module>
    main()
  File "/home/jubiiz/documents/code/in_stock_inator/src/stock_checker.py", line 26, in main
    result = ftf_availability(driver, "https://www.google.com")
  File "/home/jubiiz/documents/code/in_stock_inator/src/stock_checker.py", line 32, in ftf_availability
    soup = get_soup_from_link(driver, url)
  File "/home/jubiiz/documents/code/in_stock_inator/src/stock_checker.py", line 45, in get_soup_from_link
    driver.get(link)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 363, in get
    self.execute(Command.GET, {"url": url})
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 352, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py", line 306, in execute
    return self._request(command_info[0], url, body=data)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/selenium/webdriver/remote/remote_connection.py", line 326, in _request
    response = self._conn.request(method, url, body=body, headers=headers)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/_request_methods.py", line 144, in request
    return self.request_encode_body(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/_request_methods.py", line 279, in request_encode_body
    return self.urlopen(method, url, **extra_kw)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/poolmanager.py", line 443, in urlopen
    response = conn.urlopen(method, u.request_uri, **kw)
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 873, in urlopen
    return self.urlopen(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 873, in urlopen
    return self.urlopen(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 873, in urlopen
    return self.urlopen(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
  File "/home/jubiiz/documents/code/in_stock_inator/venv/lib/python3.10/site-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=56073): Max retries exceeded with url: /session/7946bb33-093d-4020-a850-da5945e19a09/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0840d94fa0>: Failed to establish a new connection: [Errno 111] Connection refused'))
jubiiz commented 1 month ago

The problem can be prevented by getting a new driver at every search, but this is very impractical.