如何在硒中拍照后点击接受按钮

时间:2016-09-18 18:18:53

标签: android python selenium adb

我用过

self.driver.keyevent(27)

使用selenium在Python中捕获图像。但是,我得到的屏幕如下所示。

基本上我需要单击“接受”按钮(带红色边框),以便完成图像捕获。我知道,我可以在adb shell中使用

input tap 1000 1500

它很有效。但是如何使用Python脚本实现相同的目标呢?

enter image description here

即使只是一种通过selenium脚本执行此操作的方法对我来说也没关系

input tap 1000 1500

类似self.driver.execute(" adb shell输入点击1000 1500");

2 个答案:

答案 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