gpt4 book ai didi

python - 无法在 Selenium 中使用命令 mouse_down_at

转载 作者:太空宇宙 更新时间:2023-11-04 10:42:12 25 4
gpt4 key购买 nike

我正忙于应用程序的 UI 自动化,可以在其中绘制风格与 Paint 应用程序相当的绘图。在被测应用程序中,该区域是通过 Canvas 元素创建的。

我的目标是通过 Selenium 和 Robot Framework 在此 Canvas 上进行某种绘图,例如就像画一条线:

  1. 鼠标按下某个位置
  2. 鼠标移动到新位置
  3. 在新位置释放鼠标

official documentation在机器人框架的 Selenium2Library 中,我发现没有适合我需要的关键字(关键字“单击坐标处的元素”不起作用)。但是,通过 search我发现有一个关键字“mouse_down_at”,但是这个关键字在标准机器人框架中是不可访问的。但是,Selenium 文件夹(Python 站点包)中的文件 selenium.py 中存在关键字“mouse_down_at”。

现在,我正在寻找一种方法来访问 Robot Framework 中的关键字“mouse_down_at”。我已经尝试自己围绕这个编写一个包装器库,但到目前为止没有成功。

最佳答案

您可以创建自己的 Selenium2Library 版本并使用它来代替标准的 Selenium2Lib。像这样:

from Selenium2Library import Selenium2Library
from selenium.webdriver.common.action_chains import ActionChains

class Selenium2Improved(Selenium2Library):
'''Sometimes Selenium2Library just dont go far enough.'''

def __init__(self, timeout=5.0, implicit_wait=0.0, run_on_failure='Capture Page Screenshot'):
super(Selenium2Improved, self).__init__()

def mouse_down_at(self, locator, coordx, coordy):
element = self._element_find(locator, True, False)
if element is None:
raise AssertionError("ERROR: Element %s not found." % (locator))
ActionChains(self._current_browser()).move_to_element(element).move_by_offset(coordx, coordy).click_and_hold().perform()

def mouse_up_at(self, locator, coordx, coordy):
element = self._element_find(locator, True, False)
if element is None:
raise AssertionError("ERROR: Element %s not found." % (locator))
ActionChains(self._current_browser()).move_to_element(element).move_by_offset(coordx, coordy).release().perform()

关于python - 无法在 Selenium 中使用命令 mouse_down_at,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com