我用过
self.driver.keyevent(27)
使用selenium
在Python中捕获图像。但是,我得到的屏幕如下所示。
基本上我需要单击“接受”按钮(带红色边框),以便完成图像捕获。我知道,我可以在adb shell中使用
input tap 1000 1500
它很有效。但是如何使用Python脚本实现相同的目标呢?
即使只是一种通过selenium脚本执行此操作的方法对我来说也没关系
input tap 1000 1500
类似self.driver.execute(" adb shell输入点击1000 1500");
答案 0 :(得分:1)
在Python中,通过坐标点击元素是不常见的,你能否尝试寻找这个接受按钮的Xpath或Css选择器表达式?
对于Android测试,您可以考虑使用this tool
下面是关于如何点击一对坐标的Python代码段,如您所见,您需要使用一个元素作为参考。
from selenium import webdriver
driver = webdriver.Firefox() //Or whichever browser you prefer
driver.get("your url")
reference=driver.find_elements_by_xpath("Your xpath here")
action = webdriver.common.action_chains.ActionChains(driver)
action.move_to_element_with_offset(reference, X, Y)
action.click()
action.perform()
由于您无论如何都需要将元素定位为参考,为什么不直接单击此元素而不使用坐标?
答案 1 :(得分:0)
所以我想通了。
import subprocess
subprocess.call(["adb", "shell", "input keyevent 27"]) # capture
subprocess.call(["adb", "shell", "input tap 1000 1500"]) # accept the captured image