From f8c77b76e7aef8f50e874fe958a9019855e27329 Mon Sep 17 00:00:00 2001 From: g1879 <g1879@qq.com> Date: Tue, 26 Mar 2024 23:26:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=80=89=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E9=80=89=E9=A1=B9=E5=86=8D=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9Bquit()?= =?UTF-8?q?=E5=86=85=E5=8A=A0=E5=85=A5waitpid()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitee/ISSUE_TEMPLATE.zh-CN.md | 2 +- DrissionPage/_base/browser.py | 3 +++ DrissionPage/_units/clicker.py | 8 +++++--- README.en.md | 8 +------- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/.gitee/ISSUE_TEMPLATE.zh-CN.md b/.gitee/ISSUE_TEMPLATE.zh-CN.md index 326f102..c6e48e4 100644 --- a/.gitee/ISSUE_TEMPLATE.zh-CN.md +++ b/.gitee/ISSUE_TEMPLATE.zh-CN.md @@ -1,6 +1,6 @@ 在提交issue前,请确认已经给本库点了星星,这对我来说很重要。 -使用方法请查看[使用文档](http://g1879.gitee.io/drissionpagedocs),文档里都有。 +使用方法请查看[使用文档](http://drissionpage.cn),文档里都有。 也可在QQ群里提问(636361957)。 请围绕以下内容陈述您的问题: diff --git a/DrissionPage/_base/browser.py b/DrissionPage/_base/browser.py index 0826b37..f17de5e 100644 --- a/DrissionPage/_base/browser.py +++ b/DrissionPage/_base/browser.py @@ -5,6 +5,7 @@ @Copyright: (c) 2024 by g1879, Inc. All Rights Reserved. @License : BSD 3-Clause. """ +from os import waitpid from pathlib import Path from shutil import rmtree from time import perf_counter, sleep @@ -273,6 +274,8 @@ class Browser(object): if ok: break + if self.process_id: + waitpid(self.process_id, 0) def _on_disconnect(self): self.page._on_disconnect() diff --git a/DrissionPage/_units/clicker.py b/DrissionPage/_units/clicker.py index 40113ed..589465e 100644 --- a/DrissionPage/_units/clicker.py +++ b/DrissionPage/_units/clicker.py @@ -37,10 +37,12 @@ class Clicker(object): :return: 是否点击成功 """ if self._ele.tag == 'option': - if self._ele.states.is_selected: - self._ele.parent('t:select').select.cancel_by_option(self._ele) - else: + if not self._ele.states.is_selected: self._ele.parent('t:select').select.by_option(self._ele) + else: + select = self._ele.parent('t:select') + if select.select.is_multi: + self._ele.parent('t:select').select.cancel_by_option(self._ele) return if not by_js: # 模拟点击 diff --git a/README.en.md b/README.en.md index 642c916..a3a186f 100644 --- a/README.en.md +++ b/README.en.md @@ -30,7 +30,7 @@ Supported browsers: Chromium core browsers (such as Chrome and Edge), electron a # 🛠 How to use -**📖 Usage documentation:** [Click to view](https://g1879.gitee.io/drissionpagedocs) +**📖 Usage documentation:** [Click to view](https://drissionpage.cn) **Communication QQ group:** 636361957 @@ -89,12 +89,6 @@ In addition to the above advantages, this library also has numerous built-in hum --- -# 🔖 Version History - -[Click to view version history](https://g1879.gitee.io/drissionpagedocs/history/introduction/) - ---- - # 🖐🏻 Disclaimer Please do not apply DrissionPage to any work that may violate legal regulations and moral constraints. Please use DrissionPage in a friendly manner, comply with the spider agreement, and do not use DrissionPage for any illegal purposes. If you choose to use DrissionPage