python - 我需要减少执行硒动作链的时间
问题描述
我目前正在使用 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()
[更新]:我将动作链分成单独的动作,发现以下内容:
- 计算动作链需要 0.008-0.009 秒
- 移动到第一次点击需要 0.25-0.27 秒
- 单击第一个需要 0.013-0.014 秒
- 移动到第二次点击需要 0.25-0.27 秒
- 点击秒需要 0.06-0.09 秒
解决方案
推荐阅读
- javascript - Javascript 在比较整数或布尔数组时更快吗?
- javascript - 如何使用字符串变量作为名称提取数组的数据?
- angular - Angular 没有显示带有延迟加载的组件
- xslt - XPATH 从前一个元素复制节点值
- asp.net - 在 ASP.NET MVC 的单个请求生命周期中处理基于路由的 cookie?
- selenium - 无法访问框架中的元素
- symfony - 插入数据一对多关系symfony4的正确方法是什么?
- xpath - XQuery:如何知道是否有双峰?
- asp.net-core - Bootstrap-toggle 按钮在部分视图中无法正常工作
- python - 共享内存 Python,不相交的数组操作