mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
优化下载匹配driver逻辑,没有找到匹配则下载大版本最后一个号
This commit is contained in:
parent
b68e332b47
commit
2847bb7d24
@ -346,18 +346,24 @@ def _download_driver(version: str, save_path: str = None, show_msg: bool = True)
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
for i in page.eles('xpath://pre/a'):
|
remote_versions = page.eles(f'xpath://pre/a[starts-with(text(),"{loc_main}.")]')
|
||||||
remote_main = i.text.split('.')[0]
|
remote_versions = [v for v in remote_versions if v.text and v.text[-1] == '/']
|
||||||
|
remote_versions.sort(key=lambda x: x.text)
|
||||||
|
|
||||||
|
for i in remote_versions:
|
||||||
try:
|
try:
|
||||||
remote_num = int(sub(r'[./]', '', i.text))
|
remote_num = int(sub(r'[./]', '', i.text))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if remote_main == loc_main and remote_num >= loc_num:
|
if remote_num >= loc_num:
|
||||||
remote_ver = i.text
|
remote_ver = i.text
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# 没有匹配到,则取大版本的最后一个号
|
||||||
|
if remote_versions and not remote_ver:
|
||||||
|
remote_ver = remote_versions[-1].text
|
||||||
|
|
||||||
if remote_ver:
|
if remote_ver:
|
||||||
url = f'https://cdn.npm.taobao.org/dist/chromedriver/{remote_ver}chromedriver_win32.zip'
|
url = f'https://cdn.npm.taobao.org/dist/chromedriver/{remote_ver}chromedriver_win32.zip'
|
||||||
save_path = save_path or Path(__file__).parent
|
save_path = save_path or Path(__file__).parent
|
||||||
|
Loading…
x
Reference in New Issue
Block a user