【问题标题】:Capybara/Selenium - Allow location detectionCapybara/Selenium - 允许位置检测
【发布时间】:2014-03-16 12:35:27
【问题描述】:

有没有办法告诉 capybara/selenium 允许检测用户当前的物理位置?

或者是否有类似跨浏览器的解决方法来点击“允许”按钮?

【问题讨论】:

标签: selenium geolocation selenium-webdriver capybara saucelabs


【解决方案1】:

是的,您可以编写一个 Selenium 鼠标操作,该操作将从页面上的某个位置开始,然后移动一定数量的 X 和 Y 像素,然后单击“允许”按钮。不过,鼠标移动开始的位置需要在实际网页上。

如果您发现鼠标指针不会超出窗口框架,那么您可以使用Sikuli 来执行此操作,但如果您这样做,您的测试将无法通过 Selenium Grid 进行。

【讨论】:

  • 我也有同样的想法,但每个浏览器都有不同的弹出窗口。
  • 好的,你没有说你在你的问题中关心这个。届时,您将不得不等待 Mozilla Marionette 被所有浏览器采用。
【解决方案2】:

我可以建议你下一个变体。如果在用户按下“允许”按钮后发送了一些 HTTP 请求,那么您可以使用类似 Apache HttpClient 但对于 Ruby 的脚本从脚本发送此类请求。大概是这个https://rubygems.org/gems/httpclient

【讨论】:

  • 这是一项浏览器功能,AFAIK 不会发送 HTTP 请求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多