-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathshared_functions.py
More file actions
42 lines (38 loc) · 1.72 KB
/
shared_functions.py
File metadata and controls
42 lines (38 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from chromedriver_update import compare_versions
from download_chromedriver import get_chrome_driver
def initialize_selenium():
try:
headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/104.0.5112.102 Safari/537.36 OPR/90.0.4480.84'}
driver_service = Service(executable_path="chromedriver.exe")
options = webdriver.ChromeOptions()
options.headless = True
options.add_argument(f'user-agent={headers}')
options.add_argument("--window-size=1920,1080")
options.add_argument('--ignore-certificate-errors')
options.add_argument('--allow-running-insecure-content')
options.add_argument("--disable-extensions")
options.add_argument("--proxy-server='direct://'")
options.add_argument("--proxy-bypass-list=*")
options.add_argument("--start-maximized")
options.add_argument('--disable-gpu')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
options.add_argument("--disable-javascript")
options.add_experimental_option('excludeSwitches', ['enable-logging'])
driver = webdriver.Chrome(service=driver_service, options=options)
driver.set_page_load_timeout(15)
return driver
except:
output, chrome_version = compare_versions()
if output == 'UPDATE':
feedback = get_chrome_driver(chrome_version)
if feedback == 'Done':
os.system('python login.py')
else:
exit()
else:
exit()