gpt4 book ai didi

javascript - 强制浏览器结束当前步骤

转载 作者:行者123 更新时间:2023-11-29 15:49:59 24 4
gpt4 key购买 nike

需要:

使用 Cucumber 1.0.1Watir 1.9.2,我需要执行 javascript 代码 以便专有门户执行一些操作导航。

问题:

我可以使用以下代码执行 JS 代码:

def execute_js(js_code)
@browser.goto("javascript:#{js_code};void(0)")
end

execute_js("doNavigate()")

通过这样做,导航会按预期完成,但 Watir 不会重新控制浏览器。

我在寻找什么:

我正在寻找一种解决方案,让 Watir 在 “javascript goto” 之后重新控制浏览器。

经过测试的备选方案:

@browser.execute_script('alert("toto");')

给我这个:

  execScript
OLE error code:80070005 in <Unknown>
Access Denied.

HRESULT error code:0x80020009
An exception occurred. (WIN32OLERuntimeError)
./features/lib/portal.rb:110:in `tln_main_tab'

本地精华:

  • Ascii85 (0.9.0)
  • 生成器 (3.0.0)
  • bundler (1.0.15)
  • capybara (1.0.0)
  • 子进程 (0.1.9)
  • 公共(public)服务 (1.9.2)
  • cucumber (1.0.1)
  • diff-lcs (1.1.2)
  • ffi (1.0.9 x86-mingw32)
  • 防火墙 (1.9.2)
  • fuubar- cucumber (0.0.12)
  • 小 cucumber (2.4.5 x86-mingw32)
  • 锄头(2.10.0)
  • json (1.5.3)
  • json_pure (1.5.3)
  • mime 类型 (1.16)
  • nokogiri (1.5.0 x86-mingw32)
  • pdf 阅读器 (0.9.0)
  • 大虾(0.11.1)
  • 机架 (1.3.0)
  • 机架测试 (0.6.0)
  • 耙子(0.9.2)
  • 自动化(0.6.2)
  • rspec (2.6.0)
  • rspec 核心 (2.6.4)
  • rspec-expectations (2.6.0)
  • rspec 模拟 (2.6.0)
  • ruby 进度条 (0.0.10)
  • rubygems-更新 (1.8.5)
  • rubyzip (0.9.4)
  • s4t-utils (1.0.4)
  • selenium-webdriver (0.2.2)
  • 语法 (1.0.0)
  • term-ansicolor (1.0.5)
  • ttfunk (1.0.1)
  • 用户选择 (1.1.6.1)
  • viewcumber (0.1.2)
  • watir (1.9.2)
  • win32-api (1.4.8 x86-mingw32)
  • win32 进程 (0.6.5)
  • win32 控制台 (1.3.0 x86-mingw32)-windows-api (0.4.0)
  • windows-pr (1​​.2.0)
  • xml-简单 (1.1.0)
  • xpath (0.1.4)

最佳答案

我找到了解决方法:

def execute_js(js_code)
begin
Timeout::timeout(2) do
@browser.goto("javascript:#{js_code};void(0)")
end
rescue Exception => e
goto "#{@browser.url}#" # <<< workaround is here
return
end
end

execute_js("doNavigate()")

这并不理想,但它会启用 javascript 执行,然后更新 URL 哈希,以便 Watir 知道实际操作已完成,以便 Watir 可以走得更远。

关于javascript - 强制浏览器结束当前步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com