selenium-wire icon indicating copy to clipboard operation
selenium-wire copied to clipboard

Problem to run code from terminal

Open MarcelSuleiman opened this issue 1 year ago • 0 comments

Hi, I have simple code:

from seleniumwire import webdriver
# from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.options import Options


with open("file-3.txt") as f:
	 proxies = [line.rstrip() for line in f]


chrome_options = Options()
chrome_options.add_argument('--blink-settings=imagesEnabled=false')
chrome_options.add_argument("--window-size=650,900")
chrome_options.add_argument('--allow-running-insecure-content')
# chrome_options.add_argument("--start-maximized")


proxy_count = 0
for row, proxy_line in enumerate(proxies):

	data = proxy_line.split(":")

	PROXY_HOST = data[0]
	PROXY_PORT = data[1]
	PROXY_USER = data[2]
	PROXY_PASS = data[3]

	options = {
		'proxy': {
			'https': f'https://{PROXY_USER}:{PROXY_PASS}@{PROXY_HOST}:{PROXY_PORT}',
		}
	}

	driver = webdriver.Chrome(seleniumwire_options=options, options=chrome_options)
	driver.get('https://mojaipadresa.sk/sk')

	proxy_ip = driver.find_element(By.CLASS_NAME, "ip-address").text
	print(proxy_ip)
	proxy_count += 1

	if proxy_count == 1:
		break

file-3.txt include some proxies (example):

ip:port:user:pass
ip:port:user:pass

when I run code from IDE (sublimetext) - works well but, when I go to my folder via terminal and run python3 main.py it will crach.

marcel@marcel-Latitude-5501:~/Documents/projects/slenium_proxy_test$ python3 main.py
127.0.0.1:57756: Traceback (most recent call last):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/server.py", line 113, in handle
    root_layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/modes/http_proxy.py", line 23, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/tls.py", line 285, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http1.py", line 100, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 206, in __call__
    if not self._process_flow(flow):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 270, in _process_flow
    if self.mode is HTTPMode.upstream and self.should_bypass_upstream_proxy(f.request):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 556, in should_bypass_upstream_proxy
    no_proxy = int(port[0]) == request.port
ValueError: invalid literal for int() with base 10: ''

127.0.0.1:57770: Traceback (most recent call last):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/server.py", line 113, in handle
    root_layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/modes/http_proxy.py", line 23, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/tls.py", line 285, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http1.py", line 100, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 206, in __call__
    if not self._process_flow(flow):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 270, in _process_flow
    if self.mode is HTTPMode.upstream and self.should_bypass_upstream_proxy(f.request):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 556, in should_bypass_upstream_proxy
    no_proxy = int(port[0]) == request.port
ValueError: invalid literal for int() with base 10: ''

127.0.0.1:57782: Traceback (most recent call last):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/server.py", line 113, in handle
    root_layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/modes/http_proxy.py", line 23, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/tls.py", line 285, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http1.py", line 100, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 206, in __call__
    if not self._process_flow(flow):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 270, in _process_flow
    if self.mode is HTTPMode.upstream and self.should_bypass_upstream_proxy(f.request):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 556, in should_bypass_upstream_proxy
    no_proxy = int(port[0]) == request.port
ValueError: invalid literal for int() with base 10: ''

127.0.0.1:57790: Traceback (most recent call last):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/server.py", line 113, in handle
    root_layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/modes/http_proxy.py", line 23, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/tls.py", line 285, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http1.py", line 100, in __call__
    layer()
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 206, in __call__
    if not self._process_flow(flow):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 270, in _process_flow
    if self.mode is HTTPMode.upstream and self.should_bypass_upstream_proxy(f.request):
  File "/home/marcel/.local/lib/python3.10/site-packages/seleniumwire/thirdparty/mitmproxy/server/protocol/http.py", line 556, in should_bypass_upstream_proxy
    no_proxy = int(port[0]) == request.port
ValueError: invalid literal for int() with base 10: ''

chrome version: 119 selenium: 4.15.2 selenium-wire: 5.1.0 Ubuntu 20.04

Any idea what is wrong?

MarcelSuleiman avatar Nov 25 '23 11:11 MarcelSuleiman