我想用drissionpage自动化登录https://www.psbc.com/cn/%EF%BC%8C%E7%BD%91%E9%A1%B5%E5%BC%B9%E5%87%BA%E5%90%8E%E8%83%BD%E8%AE%A9%E4%BA%BA%E4%B8%80%E7%9C%BC%E7%9C%8B%E5%88%B0%EF%BC%8C%E5%B9%B6%E8%87%AA%E5%8A%A8%E7%82%B9%E5%87%BB%E4%BC%81%E4%B8%9A%E7%BD%91%E9%93%B6%E7%99%BB%E5%BD%95%E6%8C%89%E9%92%AE%E3%80%82%E5%9B%9E%E7%AD%94%E5%AF%B91%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%8C%E7%BB%99%E6%89%93%E8%B5%8F%EF%BC%8C%E4%B8%A4%E4%B8%AA%E9%83%BD%E5%AF%B9%E7%9A%84%E8%AF%9D%E5%85%A8%E9%A2%9D%E4%BB%98%E8%B4%B9%E3%80%82
问题1:程序运行后,弹出的浏览器窗口,有时候无法显示在所有窗口的前面(有时候又能)。我需要每次弹开浏览器,浏览器都可以显示在所有窗口的前面。
问题2:需要定位到“企业网银登录”按钮,并实现自动点击。
以上问题,仅允许使用drissionpage。谢谢
详见图片、代码及报错。


from DrissionPage import Chromium, ChromiumOptions
# 创建浏览器配置对象,指定浏览器路径
co = ChromiumOptions().set_browser_path(r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe")
browser = Chromium(addr_or_opts=co)
tab = browser.get_tab()
tab.set.window.max() # 窗口最大化
tab.get('https://www.psbc.com/cn/')
ele=tab.ele('xpath:/html/body/div[2]/div[3]/a[2]/text()')
ele.click()
程序报错如下:
import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['C:\\PycharmProjects\\pythonProject2', 'C:/PycharmProjects/pythonProject2'])
PyDev console: starting.
Python 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] on win32
runfile('C:/PycharmProjects/pythonProject2/test3.py', wdir='C:/PycharmProjects/pythonProject2')
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\PyCharm 2021.1.3\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
pydev_imports.execfile(filename, global_vars, local_vars) # execute the script
File "C:\PyCharm 2021.1.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "C:/PycharmProjects/pythonProject2/test3.py", line 13, in <module>
ele.click()
File "C:\PycharmProjects\pythonProject2\venv\lib\site-packages\DrissionPage\_elements\none_element.py", line 38, in __getattr__
raise ElementNotFoundError(None, self.method, self.args)
DrissionPage.errors.ElementNotFoundError:
没有找到元素。
method: ele()
args: {'locator': 'xpath:/html/body/div[2]/div[3]/a[2]/text()', 'index': 1, 'timeout': 10}