watir 字符串值被贬值 Ruby
watir a string value is depriciated Ruby
Warn Watir [Depreciation] using the :class locator to locate multiple
classes with a string value is deprecated. Use array instead
我在 运行 这行
时收到此错误
browser.button(:class => '_t38eb _ov9ai').click
我认为是一个 class 不是多个 class我在交战中提到过这个
browser.button(:class => ['_t38eb','_ov9ai']).click
但是页面冻结然后终止
我正在尝试使用 scarab 的网站是 Instagram,在填写用户名和密码字段后尝试登录页面
如果我写这个,chromedriver 会终止
browser.button(:class == '_t38eb _ov9ai').click
仅供参考:Watir
是开源的。
This line 是弃用警告的来源。
此弃用的原因是使用 contains(this) and contains(that)
构建更惯用的 xpath。
我不确定它为什么会冻结,但我肯定忽略警告是完全安全的。
Chrome 驱动程序和 Firefox 驱动程序在您自动化时存在差异,您的浏览器正在关闭,因为 chrome 驱动程序在执行您的代码后关闭浏览器一次,但 Firefox 驱动程序不会关闭浏览器。如果您想让 chrome 浏览器保持打开状态,请使用此代码
require 'watir'
caps = Selenium::WebDriver::Remote::Capabilities.chrome(chrome_options: {detach: true})
b = Watir::Browser.new :chrome, desired_capabilities: caps
下面给出的代码不起作用
browser.button(:class == '_t38eb _ov9ai').click
那是因为 button()
方法需要哈希对象而不是你在写 :class == '_t38eb _ov9ai'
时传递的 TrueClass
或 FalseClass
的对象
如果要传数组,最好用#split:
browser.button(:class => '_t38eb _ov9ai'.split).click
Warn Watir [Depreciation] using the :class locator to locate multiple classes with a string value is deprecated. Use array instead
我在 运行 这行
时收到此错误browser.button(:class => '_t38eb _ov9ai').click
我认为是一个 class 不是多个 class我在交战中提到过这个
browser.button(:class => ['_t38eb','_ov9ai']).click
但是页面冻结然后终止 我正在尝试使用 scarab 的网站是 Instagram,在填写用户名和密码字段后尝试登录页面
如果我写这个,chromedriver 会终止
browser.button(:class == '_t38eb _ov9ai').click
仅供参考:Watir
是开源的。
This line 是弃用警告的来源。
此弃用的原因是使用 contains(this) and contains(that)
构建更惯用的 xpath。
我不确定它为什么会冻结,但我肯定忽略警告是完全安全的。
Chrome 驱动程序和 Firefox 驱动程序在您自动化时存在差异,您的浏览器正在关闭,因为 chrome 驱动程序在执行您的代码后关闭浏览器一次,但 Firefox 驱动程序不会关闭浏览器。如果您想让 chrome 浏览器保持打开状态,请使用此代码
require 'watir'
caps = Selenium::WebDriver::Remote::Capabilities.chrome(chrome_options: {detach: true})
b = Watir::Browser.new :chrome, desired_capabilities: caps
下面给出的代码不起作用
browser.button(:class == '_t38eb _ov9ai').click
那是因为 button()
方法需要哈希对象而不是你在写 :class == '_t38eb _ov9ai'
TrueClass
或 FalseClass
的对象
如果要传数组,最好用#split:
browser.button(:class => '_t38eb _ov9ai'.split).click