Android:从选项列表中选择项目时,单击退出屏幕

Android:从选项列表中选择项目时,单击退出屏幕,android,ruby,selenium-webdriver,Android,Ruby,Selenium Webdriver,我在看android设备上的选项列表 选项代码如下所示: <div class = "addMode"> <label for ="activityType">Activity Type</label> <div class="dataRow activityType"> <select id="activityType" class="valid"> <option value ="1" selected="sel

我在看android设备上的选项列表 选项代码如下所示:

<div class = "addMode">
 <label for ="activityType">Activity Type</label>
 <div class="dataRow activityType">
  <select id="activityType" class="valid">
   <option value ="1" selected="selected">Appointment</option>
   <option value ="2">Call</option>
   <option value ="3">To-Do</option>
  </select>
 </div>
<div>
这可以从弹出菜单中选择“调用”活动,但是,一旦选择该活动,它就会从当前页面退出,并返回到调用页面

然后我试着:

el = @d.find_element(:id, "activityType")
el.click 
el_opt = el.find_elements(:tag_name, "option")
el_opt.each.do |t|
   if t.text() == 'Call' then
       t.click
       break
   end
end
这也会产生相同的结果,即进行选择,然后退出屏幕

然后是:

opt = Selenium::WebDriver::Support::Select.new(@d.find_element(:xpath, "//*[@id='activityType']"))
opt.select_by(:text, "Call")
这也进行了选择,然后退出页面

然后我想,我也许可以使用触摸动作 我对Ruby还是个新手,我很可能读错了触摸屏的API 我尝试了以下方法:

TapObject = Selenium::WebDriver::TouchScreen.new(@d.find_element(:id, "activityType"))
el = @driver.find_element(:id, "activityType")
el_opt = el.find_elements(:tag_name, "option")
el_opt.each do |t|
  if t.text() == "Call" then
      TapObject.single_tap(t)
  end
end
我得到一个未定义的方法“touchingletap”错误

是否有人遇到过此问题,或者知道如何在移动设备上单击/点击选择项而不退出当前页面

谢谢


杰夫看来解决这个问题的方法很简单。 不要尝试从弹出列表中单击元素,只需使用send键即可

el = @driver.find_element(:id, "activityType")
el.send_keys("Call")
谢谢

杰夫

el = @driver.find_element(:id, "activityType")
el.send_keys("Call")