1+ from selenium import webdriver
2+ from selenium .webdriver .support .ui import WebDriverWait
3+ from selenium .webdriver .common .by import By
4+ from selenium .webdriver .support import expected_conditions as EC
5+ from selenium .common .exceptions import TimeoutException
6+
7+ options = webdriver .ChromeOptions ()
8+ options .add_argument ("start-maximized" )
9+ options .add_experimental_option ("excludeSwitches" , ["enable-automation" ])
10+ options .add_experimental_option ('useAutomationExtension' , False )
11+ options .add_argument ('--ignore-certificate-errors-spki-list' )
12+ options .add_argument ('--ignore-ssl-errors' )
13+
14+ driver = webdriver .Chrome (chrome_options = options , executable_path = r'chromedriver.exe' )
15+ driver .get ("https://sslproxies.org/" )
16+ driver .execute_script ("return arguments[0].scrollIntoView(true);" , WebDriverWait (driver , 20 ).until (EC .visibility_of_element_located ((By .XPATH , "//table[@class='table table-striped table-bordered dataTable']//th[contains(., 'IP Address')]" ))))
17+ ips = [my_elem .get_attribute ("innerHTML" ) for my_elem in WebDriverWait (driver , 5 ).until (EC .visibility_of_all_elements_located ((By .XPATH , "//table[@class='table table-striped table-bordered dataTable']//tbody//tr[@role='row']/td[position() = 1]" )))]
18+ ports = [my_elem .get_attribute ("innerHTML" ) for my_elem in WebDriverWait (driver , 5 ).until (EC .visibility_of_all_elements_located ((By .XPATH , "//table[@class='table table-striped table-bordered dataTable']//tbody//tr[@role='row']/td[position() = 2]" )))]
19+ driver .quit ()
20+ proxies = []
21+ for i in range (0 , len (ips )):
22+ proxies .append (ips [i ]+ ':' + ports [i ])
23+ print (proxies )
24+ for i in range (0 , len (proxies )):
25+ try :
26+ print ("Proxy selected: {}" .format (proxies [i ]))
27+ options = webdriver .ChromeOptions ()
28+ options .add_argument ('--proxy-server={}' .format (proxies [i ]))
29+ driver = webdriver .Chrome (options = options , executable_path = r'C:\WebDrivers\chromedriver.exe' )
30+ driver .get ("https://www.whatismyip.com/proxy-check/?iref=home" )
31+ if "Proxy Type" in WebDriverWait (driver , 5 ).until (EC .visibility_of_element_located ((By .CSS_SELECTOR , "p.card-text" ))):
32+ break
33+ except Exception :
34+ driver .quit ()
35+ print ("Proxy Invoked" )
0 commit comments