Vir*_*sus 6 python selenium python-3.x selenium-firefoxdriver selenium-webdriver
我目前正在使用 Python3 的 selenium 中的动作链来执行元素上的点击。目前执行所需的两个动作链需要大约 0.6 秒,我需要它们在 < 0.1 秒内执行。
到目前为止,我一直在使用 pyautogui 并将 pyautogui.PAUSE 设置为 0。这使我能够在不到 0.05 秒的时间内完成两次点击,但因为它实际上正在移动鼠标,所以我无法在该庄园测试时使用计算机。我也无法使用 pyautogui 同时运行多个测试。在我的调试过程中,我得出的结论是瓶颈在于执行步骤。
如果我错得离谱,请纠正我,但根据我的理解,selenium 似乎应该比 pyautogui 更快,因为它只是跳过一个步骤并直接进入浏览器。因此,我认为硒可能会人为地减慢作用链。如果是这样,有人知道如何防止它这样做吗?
下面,我添加了我当前正在使用的代码。每次点击大约需要 0.3 秒。
action_1 = webdriver.common.action_chains.ActionChains(driver)
action_1.move_to_element_with_offset(e, offset[0], offset[1])
action_1.click()
action_1.perform()
Run Code Online (Sandbox Code Playgroud)
[更新]:我将动作链分成单独的动作,并发现以下内容:
小智 1
Python selenium 模块您可以通过在操作链上设置以下属性来设置鼠标移动的持续时间:
action_chain.w3c_actions.pointer_action._duration = 0Run Code Online (Sandbox Code Playgroud)
然而,这只是一种解决方法。理想情况下,我们应该避免修改标记为私有的字段。(以下划线(“_”)开头的变量/类名称被视为私有)。
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |