Ruby Selenium无法从android图像库中选择图像

Ruby Selenium无法从android图像库中选择图像,android,ruby,selenium-webdriver,xpath-2.0,appium,Android,Ruby,Selenium Webdriver,Xpath 2.0,Appium,我正在尝试从Android image galley网格视图中选择图像。此网格视图具有每个图像的ImageView。每个ImageView都有一个id 因此,当我试图通过//ImageView[@id=someId][1]或//GridView[@id=someId]//ImageView[@id=someId][1]访问时,它找不到它 如何使用ruby中的Selenium webdriver从gallery中选择图像 编辑: 编辑 由于Uiautomator无法在Gallery中选择缩略图,我

我正在尝试从Android image galley网格视图中选择图像。此网格视图具有每个图像的ImageView。每个ImageView都有一个id

因此,当我试图通过//ImageView[@id=someId][1]或//GridView[@id=someId]//ImageView[@id=someId][1]访问时,它找不到它

如何使用ruby中的Selenium webdriver从gallery中选择图像

编辑:

编辑 由于Uiautomator无法在Gallery中选择缩略图,我尝试使用相对坐标拾取图像,但这给出了一个错误


有人这样做过吗?我需要从android gallery中选择图像。

如果要查看第一张图像,请执行以下操作:

输出:

<ImageView id="someImageId"/>
编辑: 您还可以使用find_elements将所有元素提取到一个数组中,然后选择所需的元素:

elements = driver.find_elements(:xpath, '//ImageView')
p elements[1]
# <Selenium::WebDriver::Element:0x..f9bdc4412 id="{1f41fbd9-0a73-4fb2-9c98-44bb877e2388}">

您应该能够通过以下方式使用Appium找到它:

//android.widget.ImageView[@id="someId"][1] 


驱动程序。查找元素:id,someId应该可以工作。是的,我也试过了,但没有工作。此外,容器中有多个imageview,因此使用它我无法获得第一个imageview,然后需要查看HTML..谢谢,我以前尝试过所有这些。但无法从库容器中获取图像。这可能是从gallery容器中获取应用程序的图像时出现的问题。奇怪的是,它正在使用XML文件webdriver在我的浏览器上运行。你在使用AndroidDriver吗?嗯,这是Appium的问题,Appium无法在Gallery中选择缩略图。这也不起作用。我用另一种方式解决了这个问题。
element = driver.find_element(:xpath, "//*[@id='someId']/LinearView[1]/ImageView")
p element
# <Selenium::WebDriver::Element:0x3eb6a9d8 id="{ea847fbe-7fc7-453b-97ea-74fbf325ddac}">
elements = driver.find_elements(:xpath, '//ImageView')
p elements[1]
# <Selenium::WebDriver::Element:0x..f9bdc4412 id="{1f41fbd9-0a73-4fb2-9c98-44bb877e2388}">
//android.widget.ImageView[@id="someId"][1] 
//android.widget.GridView[@id="someId"]//android.widget.ImageView[@id="someId"][1]