【问题标题】:Selenium webdriver zoom with Ruby for ChromeSelenium webdriver 使用 Ruby for Chrome 进行缩放
【发布时间】:2018-11-24 01:40:58
【问题描述】:

我正在使用 cucumber 和连接到 Google Chrome 的 selenium webdriver 执行自动化测试,我需要更改浏览器的缩放比例以避免某些自动化测试出现错误。

可以通过按 Control + '-'Control + '-' 键更改缩放。

为了模拟这些键的按下,我使用以下代码添加了一个 Hook:

Before ('@ChangeBrowserZoom') do
      page = Capybara::page
      page.find("html").send_keys(:control , '+')
      page.find("body").native.send_keys(:control , '+')
end

钩子已被调用,但它不工作。

【问题讨论】:

  • 最后,拯救我的一天是应用这个:FocusManager.Page.execute_script("document.getElementsByTagName('html')[0].style['zoom'] = " + level .to_s)

标签: ruby-on-rails selenium selenium-webdriver cucumber zooming


【解决方案1】:

Selenium send_keys 方法在您的代码中一一调用 args。要一起调用它,请使用方括号:

Before ('@ChangeBrowserZoom') do
  page = Capybara::page
  page.find("html").send_keys([:control , :add])
end

【讨论】:

  • 我已经使用了您显示的括号,但它仍然无法正常工作。
  • Google 说它不适用于 Chrome。我也尝试page.driver.browser.action.send_keys([:control,:add]).perform,但它也不适用于 Chrome。如果您只需要缩放页面,您可以使用脚本page.execute_script("document.getElementsByTagName('html')[0].style['zoom'] = 2")
  • 谢谢你,Artem,你的第二个建议 page.execute_script("document.getElementsByTagName('html')[0].style['zoom'] = 2") 对我有用。
猜你喜欢
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 2018-08-25
  • 2019-05-08
  • 2012-05-08
  • 2016-12-15
  • 1970-01-01
相关资源
最近更新 更多