2023-07-21, add some new chrome extensions
parent
c78c548c64
commit
f2163ae0bf
|
@ -55,7 +55,7 @@ import argparse
|
||||||
import itertools
|
import itertools
|
||||||
import chromedriver_autoinstaller
|
import chromedriver_autoinstaller
|
||||||
|
|
||||||
CONST_APP_VERSION = "MaxBot (2023.07.20)"
|
CONST_APP_VERSION = "MaxBot (2023.07.21)"
|
||||||
|
|
||||||
CONST_MAXBOT_CONFIG_FILE = "settings.json"
|
CONST_MAXBOT_CONFIG_FILE = "settings.json"
|
||||||
CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt"
|
CONST_MAXBOT_LAST_URL_FILE = "MAXBOT_LAST_URL.txt"
|
||||||
|
@ -328,10 +328,13 @@ def is_all_alpha_or_numeric(text):
|
||||||
|
|
||||||
def get_favoriate_extension_path(webdriver_path):
|
def get_favoriate_extension_path(webdriver_path):
|
||||||
print("webdriver_path:", webdriver_path)
|
print("webdriver_path:", webdriver_path)
|
||||||
no_google_analytics_path = os.path.join(webdriver_path,"no_google_analytics_1.1.0.0.crx")
|
extension_list = []
|
||||||
no_ad_path = os.path.join(webdriver_path,"Adblock_3.16.1.0.crx")
|
extension_list.append(os.path.join(webdriver_path,"Adblock_3.18.1.0.crx"))
|
||||||
buster_path = os.path.join(webdriver_path,"Buster_2.0.1.0.crx")
|
extension_list.append(os.path.join(webdriver_path,"Buster_2.0.1.0.crx"))
|
||||||
return no_google_analytics_path, no_ad_path, buster_path
|
extension_list.append(os.path.join(webdriver_path,"no_google_analytics_1.1.0.0.crx"))
|
||||||
|
extension_list.append(os.path.join(webdriver_path,"proxy-switchyomega_2.5.21.0.crx"))
|
||||||
|
extension_list.append(os.path.join(webdriver_path,"tampermonkey_4.19.0.0.crx"))
|
||||||
|
return extension_list
|
||||||
|
|
||||||
def get_chromedriver_path(webdriver_path):
|
def get_chromedriver_path(webdriver_path):
|
||||||
chromedriver_path = os.path.join(webdriver_path,"chromedriver")
|
chromedriver_path = os.path.join(webdriver_path,"chromedriver")
|
||||||
|
@ -368,14 +371,10 @@ def get_chrome_options(webdriver_path, adblock_plus_enable, browser="chrome", he
|
||||||
# some windows cause: timed out receiving message from renderer
|
# some windows cause: timed out receiving message from renderer
|
||||||
if adblock_plus_enable:
|
if adblock_plus_enable:
|
||||||
# PS: this is ocx version.
|
# PS: this is ocx version.
|
||||||
no_google_analytics_path, no_ad_path, buster_path = get_favoriate_extension_path(webdriver_path)
|
extension_list = get_favoriate_extension_path(webdriver_path)
|
||||||
|
for ext in extension_list:
|
||||||
if os.path.exists(no_google_analytics_path):
|
if os.path.exists(ext):
|
||||||
chrome_options.add_extension(no_google_analytics_path)
|
chrome_options.add_extension(ext)
|
||||||
if os.path.exists(no_ad_path):
|
|
||||||
chrome_options.add_extension(no_ad_path)
|
|
||||||
if os.path.exists(buster_path):
|
|
||||||
chrome_options.add_extension(buster_path)
|
|
||||||
if headless:
|
if headless:
|
||||||
#chrome_options.add_argument('--headless')
|
#chrome_options.add_argument('--headless')
|
||||||
chrome_options.add_argument('--headless=new')
|
chrome_options.add_argument('--headless=new')
|
||||||
|
@ -413,10 +412,12 @@ def load_chromdriver_normal(config_dict, driver_type):
|
||||||
|
|
||||||
Root_Dir = get_app_root()
|
Root_Dir = get_app_root()
|
||||||
webdriver_path = os.path.join(Root_Dir, "webdriver")
|
webdriver_path = os.path.join(Root_Dir, "webdriver")
|
||||||
chromedriver_autoinstaller.install(path="webdriver", make_version_dir=False)
|
|
||||||
|
|
||||||
chromedriver_path = get_chromedriver_path(webdriver_path)
|
chromedriver_path = get_chromedriver_path(webdriver_path)
|
||||||
|
|
||||||
|
if not os.path.exists(chromedriver_path):
|
||||||
|
print("WebDriver not exist, automatically download...")
|
||||||
|
chromedriver_autoinstaller.install(path="webdriver", make_version_dir=False)
|
||||||
|
|
||||||
if not os.path.exists(chromedriver_path):
|
if not os.path.exists(chromedriver_path):
|
||||||
print("Please download chromedriver and extract zip to webdriver folder from this url:")
|
print("Please download chromedriver and extract zip to webdriver folder from this url:")
|
||||||
print("請下在面的網址下載與你chrome瀏覽器相同版本的chromedriver,解壓縮後放到webdriver目錄裡:")
|
print("請下在面的網址下載與你chrome瀏覽器相同版本的chromedriver,解壓縮後放到webdriver目錄裡:")
|
||||||
|
@ -518,10 +519,12 @@ def load_chromdriver_uc(config_dict):
|
||||||
|
|
||||||
Root_Dir = get_app_root()
|
Root_Dir = get_app_root()
|
||||||
webdriver_path = os.path.join(Root_Dir, "webdriver")
|
webdriver_path = os.path.join(Root_Dir, "webdriver")
|
||||||
chromedriver_autoinstaller.install(path="webdriver", make_version_dir=False)
|
|
||||||
|
|
||||||
chromedriver_path = get_chromedriver_path(webdriver_path)
|
chromedriver_path = get_chromedriver_path(webdriver_path)
|
||||||
|
|
||||||
|
if not os.path.exists(chromedriver_path):
|
||||||
|
print("WebDriver not exist, automatically download...")
|
||||||
|
chromedriver_autoinstaller.install(path="webdriver", make_version_dir=False)
|
||||||
|
|
||||||
options = uc.ChromeOptions()
|
options = uc.ChromeOptions()
|
||||||
options.page_load_strategy = 'eager'
|
options.page_load_strategy = 'eager'
|
||||||
#options.page_load_strategy = 'none'
|
#options.page_load_strategy = 'none'
|
||||||
|
@ -530,18 +533,14 @@ def load_chromdriver_uc(config_dict):
|
||||||
#print("strategy", options.page_load_strategy)
|
#print("strategy", options.page_load_strategy)
|
||||||
|
|
||||||
if config_dict["advanced"]["adblock_plus_enable"]:
|
if config_dict["advanced"]["adblock_plus_enable"]:
|
||||||
no_google_analytics_path, no_ad_path, buster_path = get_favoriate_extension_path(webdriver_path)
|
|
||||||
no_google_analytics_folder_path = no_google_analytics_path.replace('.crx','')
|
|
||||||
no_ad_folder_path = no_ad_path.replace('.crx','')
|
|
||||||
buster_path = buster_path.replace('.crx','')
|
|
||||||
load_extension_path = ""
|
load_extension_path = ""
|
||||||
if os.path.exists(no_google_analytics_folder_path):
|
extension_list = get_favoriate_extension_path(webdriver_path)
|
||||||
load_extension_path += "," + no_google_analytics_folder_path
|
for ext in extension_list:
|
||||||
if os.path.exists(no_ad_folder_path):
|
ext = ext.replace('.crx','')
|
||||||
load_extension_path += "," + no_ad_folder_path
|
if os.path.exists(ext):
|
||||||
if os.path.exists(buster_path):
|
load_extension_path += ("," + os.path.abspath(ext))
|
||||||
load_extension_path += "," + buster_path
|
|
||||||
if len(load_extension_path) > 0:
|
if len(load_extension_path) > 0:
|
||||||
|
print('load-extension:', load_extension_path[1:])
|
||||||
options.add_argument('--load-extension=' + load_extension_path[1:])
|
options.add_argument('--load-extension=' + load_extension_path[1:])
|
||||||
|
|
||||||
if config_dict["advanced"]["headless"]:
|
if config_dict["advanced"]["headless"]:
|
||||||
|
@ -596,10 +595,11 @@ def load_chromdriver_uc(config_dict):
|
||||||
driver = uc.Chrome(driver_executable_path=chromedriver_path, options=options, headless=config_dict["advanced"]["headless"])
|
driver = uc.Chrome(driver_executable_path=chromedriver_path, options=options, headless=config_dict["advanced"]["headless"])
|
||||||
except Exception as exc2:
|
except Exception as exc2:
|
||||||
pass
|
pass
|
||||||
|
else:
|
||||||
|
print("WebDriver not found at path:", chromedriver_path)
|
||||||
|
|
||||||
if driver is None:
|
if driver is None:
|
||||||
#print("Oops! web driver not on path:",chromedriver_path )
|
print('WebDriver object is None..., try again..')
|
||||||
print('undetected_chromedriver automatically download chromedriver.')
|
|
||||||
try:
|
try:
|
||||||
driver = uc.Chrome(options=options, headless=config_dict["advanced"]["headless"])
|
driver = uc.Chrome(options=options, headless=config_dict["advanced"]["headless"])
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
|
|
Loading…
Reference in New Issue