mirror of
https://github.com/NaiboWang/EasySpider.git
synced 2025-04-23 04:34:22 +08:00
Update Chrome for macos
This commit is contained in:
parent
e09cae78d9
commit
8572452186
1
ElectronJS/tasks/203.json
Normal file
1
ElectronJS/tasks/203.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,15 +1,29 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import requests
|
import requests
|
||||||
import platform
|
import platform
|
||||||
import shutil
|
import shutil
|
||||||
import zipfile
|
import zipfile
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
if sys.platform == "win32":
|
||||||
import winreg
|
import winreg
|
||||||
import re
|
import re
|
||||||
|
|
||||||
|
def get_processor_info():
|
||||||
|
if os.uname().sysname == 'Darwin':
|
||||||
|
processor_info = subprocess.check_output(['sysctl', '-n', 'machdep.cpu.brand_string']).strip()
|
||||||
|
processor_info = str(processor_info)
|
||||||
|
if 'Intel' in processor_info:
|
||||||
|
return 'Intel'
|
||||||
|
elif 'Apple' in processor_info:
|
||||||
|
return 'Apple'
|
||||||
|
else:
|
||||||
|
return 'Unknown'
|
||||||
|
else:
|
||||||
|
return 'This method is only implemented for macOS.'
|
||||||
|
|
||||||
def download_and_extract_zip(url, destination_folder):
|
def download_and_extract_zip(url, destination_folder):
|
||||||
# 下载ZIP文件
|
# 下载ZIP文件
|
||||||
@ -34,6 +48,7 @@ def copy_folder(source_folder, destination_folder):
|
|||||||
|
|
||||||
|
|
||||||
def get_chrome_version():
|
def get_chrome_version():
|
||||||
|
version = "115"
|
||||||
if sys.platform == "win32":
|
if sys.platform == "win32":
|
||||||
version_re = re.compile(r"^[1-9]\d*\.\d*.\d*")
|
version_re = re.compile(r"^[1-9]\d*\.\d*.\d*")
|
||||||
try:
|
try:
|
||||||
@ -44,12 +59,8 @@ def get_chrome_version():
|
|||||||
return version_re.findall(_v)[0][:3]
|
return version_re.findall(_v)[0][:3]
|
||||||
except WindowsError as e:
|
except WindowsError as e:
|
||||||
print("check Chrome failed:{}".format(e))
|
print("check Chrome failed:{}".format(e))
|
||||||
elif sys.platform == "linux":
|
else:
|
||||||
pass
|
return version
|
||||||
elif sys.platform == "darwin":
|
|
||||||
pass
|
|
||||||
return "115"
|
|
||||||
|
|
||||||
|
|
||||||
chrome_version = get_chrome_version() # 要更新的chromedriver版本
|
chrome_version = get_chrome_version() # 要更新的chromedriver版本
|
||||||
|
|
||||||
@ -58,7 +69,7 @@ print("Detected your chrome version is: ", chrome_version)
|
|||||||
chrome_driver_url = "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"
|
chrome_driver_url = "https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json"
|
||||||
win64_chrome_path = "C:\\Program Files\\Google\\Chrome\\Application"
|
win64_chrome_path = "C:\\Program Files\\Google\\Chrome\\Application"
|
||||||
win32_chrome_path = "C:\\Program Files\\Google\\Chrome\\Application"
|
win32_chrome_path = "C:\\Program Files\\Google\\Chrome\\Application"
|
||||||
mac_chrome_path = "/Applications/Google Chrome.app/Contents/MacOS"
|
mac_chrome_path = "/Applications/Google Chrome.app"
|
||||||
linux_chrome_path = "/opt/google/chrome"
|
linux_chrome_path = "/opt/google/chrome"
|
||||||
old_driver_version = {
|
old_driver_version = {
|
||||||
"100":"100.0.4896.60",
|
"100":"100.0.4896.60",
|
||||||
@ -183,6 +194,35 @@ if __name__ == "__main__":
|
|||||||
elif sys.platform == "linux" and platform.architecture()[0] == "64bit":
|
elif sys.platform == "linux" and platform.architecture()[0] == "64bit":
|
||||||
pass
|
pass
|
||||||
elif sys.platform == "darwin" and platform.architecture()[0] == "64bit":
|
elif sys.platform == "darwin" and platform.architecture()[0] == "64bit":
|
||||||
pass
|
processor = get_processor_info()
|
||||||
|
if processor == "Intel":
|
||||||
|
driver_arch = "mac-x64"
|
||||||
|
elif processor == "Apple":
|
||||||
|
driver_arch = "mac-arm64"
|
||||||
|
for download in driver_downloads:
|
||||||
|
if download["platform"] == driver_arch:
|
||||||
|
url = download["url"]
|
||||||
|
print("ChromeDriver will be downloaded from: ", url)
|
||||||
|
break
|
||||||
|
download_and_extract_zip(url, "./chromedrivers")
|
||||||
|
if os.path.exists("./chrome_mac64.app"):
|
||||||
|
shutil.rmtree("./chrome_mac64.app")
|
||||||
|
# copy_folder(mac_chrome_path, "./chrome_mac64.app")
|
||||||
|
subprocess.call(["cp", "-R", mac_chrome_path, "./chrome_mac64.app"])
|
||||||
|
try:
|
||||||
|
copy_file(
|
||||||
|
"./chromedrivers/chromedriver-%s/chromedriver" % driver_arch,
|
||||||
|
"./chromedriver_mac64",
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
copy_file(
|
||||||
|
"./chromedrivers/chromedriver",
|
||||||
|
"./chromedriver_mac64",
|
||||||
|
)
|
||||||
|
finally:
|
||||||
|
shutil.rmtree("./chromedrivers")
|
||||||
|
os.chmod("./chromedriver_mac64", 0o755)
|
||||||
|
os.chmod("./chrome_mac64.app", 0o555)
|
||||||
|
os.chmod("./chrome_mac64.app/Contents/MacOS/Google Chrome", 0o555)
|
||||||
|
|
||||||
print("Done and don't forget to generate executestage EXEcutable program!")
|
print("Done and don't forget to generate executestage EXEcutable program!")
|
||||||
|
4
Extension/manifest_v3/package-lock.json
generated
4
Extension/manifest_v3/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "EasySpider",
|
"name": "EasySpider",
|
||||||
"version": "0.3.5",
|
"version": "0.5.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "EasySpider",
|
"name": "EasySpider",
|
||||||
"version": "0.3.5",
|
"version": "0.5.0",
|
||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"crx": "^5.0.1",
|
"crx": "^5.0.1",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user