Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium Ruby绑定功能文档_Ruby_Selenium_Selenium Webdriver - Fatal编程技术网

Selenium Ruby绑定功能文档

Selenium Ruby绑定功能文档,ruby,selenium,selenium-webdriver,Ruby,Selenium,Selenium Webdriver,我不熟悉Selenium Ruby绑定。我想知道文档网站,在那里我可以找到Ruby驱动程序功能的可用选项 我在网上搜索了一下,发现了大部分与Java相关的帖子: 我需要知道与Ruby特别等价的:“意外的AlertBehaviour”功能 提前谢谢 添加代码: 代码 从链接结束-我找到了以下信息: 在抛出未处理的AlertException之前,浏览器应如何处理未处理的警报。可能的值为“接受”、“拒绝”和“忽略” 您需要做的是: require 'selenium-webdriver' dri

我不熟悉Selenium Ruby绑定。我想知道文档网站,在那里我可以找到Ruby驱动程序功能的可用选项

我在网上搜索了一下,发现了大部分与Java相关的帖子:

我需要知道与Ruby特别等价的:“意外的AlertBehaviour”功能

提前谢谢

添加代码:

代码

从链接结束-我找到了以下信息:

在抛出未处理的AlertException之前,浏览器应如何处理未处理的警报。可能的值为“接受”、“拒绝”和“忽略”

您需要做的是:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :firefox
driver.get "https://www.google.com/"

ob = driver.capabilities
ob[:unexpectedAlertBehaviour] = "dismiss" # or "accept"/"ignore"
driver.capabilities
将为您提供类的实例。现在,如果要设置任何自定义功能,则需要对从调用
driver.capabilities
获得的实例调用该方法

设置自定义功能后,可以调用方法查看驱动程序设置的所有当前功能:

puts ob.to_json    
# >> { "browserName":"firefox","version":"21.0","platform":"WINNT","javascriptEnabled"
# >> :true,"cssSelectorsEnabled":true,"takesScreenshot":true,"nativeEvents":true,"rot
# >> atable":false,"handlesAlerts":true,"webStorageEnabled":true,"applicationCacheEna
# >> bled":true,"databaseEnabled":true,"locationContextEnabled":true,"browserConnecti
# >> onEnabled":true,"acceptSslCerts":true,"unexpectedAlertBehaviour":"dismiss"}
如果要验证是否设置了自定义设置,请调用以下方法进行验证:


我找到了解决办法。我们必须在创建驱动程序实例之前设置驱动程序的功能。以下代码适用于我:

 def initialize(driverType)
begin
  cap = Selenium::WebDriver::Remote::Capabilities.ie(:ignoreProtectedModeSettings=>true,:ignoreZoomSetting=>true,:unexpectedAlertBehaviour=>"accept")

  @@driver =  Selenium::WebDriver.for driverType,:desired_capabilities=>cap 

  @@driver.manage.window.maximize
rescue Exception=>e
  puts e.message
end
结束

上面的代码处理保护模式、缩放设置(在某些情况下,selenium无法识别对象)和模式警报-它正在接受模式错误

希望,这将对其他人有所帮助:)


干杯。

这是语言不可知论。唯一的区别是如何传递这些功能。向我们展示您到目前为止在如何构造驱动程序方面所取得的成果。@Arran,我已经在问题中添加了代码。我有点困惑的原因是,在上面的链接中,属性是“ignoreProtectedModeSettings”,在ruby绑定中,“ignore_protected_mode_settings”是有效的。谢谢@Arup,你能提供ruby绑定API参考/教程的链接吗?@user3098734我已经给了你所有的文档,从那里我编写了这段代码。你能告诉我,你在找什么具体的吗?谢谢你提供的信息。但我有点困惑的原因是,在上面的链接中,属性是“ignoreProtectedModeSettings”,而在ruby绑定中,“ignore_protected_mode_settings”也起作用。您在哪里设置了
ob[:unexpectedAlertBehaviour]=“disease”
?它应该会起作用。我已测试请找到以下代码:def initialize(driverType)begin@@driver=Selenium::WebDriver.for driverType cap=@driver.cap[:ignoreProtectedModeSettings]=真cap[:ignorezoomseting]=真cap[:unexpectedAlertBehaviour]=“忽略”@@driver.manage.window.maximize-rescue-Exception=>e-put e.message end-endI告诉过你-你做得不对。这就是提示。无论如何,祝你好运。:-)感谢奥雅纳的帮助:)
puts ob.to_json    
# >> { "browserName":"firefox","version":"21.0","platform":"WINNT","javascriptEnabled"
# >> :true,"cssSelectorsEnabled":true,"takesScreenshot":true,"nativeEvents":true,"rot
# >> atable":false,"handlesAlerts":true,"webStorageEnabled":true,"applicationCacheEna
# >> bled":true,"databaseEnabled":true,"locationContextEnabled":true,"browserConnecti
# >> onEnabled":true,"acceptSslCerts":true,"unexpectedAlertBehaviour":"dismiss"}
puts ob[:unexpectedAlertBehaviour] # => dismiss
 def initialize(driverType)
begin
  cap = Selenium::WebDriver::Remote::Capabilities.ie(:ignoreProtectedModeSettings=>true,:ignoreZoomSetting=>true,:unexpectedAlertBehaviour=>"accept")

  @@driver =  Selenium::WebDriver.for driverType,:desired_capabilities=>cap 

  @@driver.manage.window.maximize
rescue Exception=>e
  puts e.message
end