当前位置: 首页 > 知识库问答 >
问题:

Selenium::WebDriver等待(Ruby、Chrome)

祖翰音
2023-03-14

我有一个打开浏览器的ruby脚本。我把它设置为先打开Firefox,然后再打开Chrome,如果FF因为某种原因失败了,比如FF得到了更新,Selenium还没有赶上。

等待函数/定义对FF很好,但总是中断。以下是Chrome浏览器启动的相关代码

b = Selenium::WebDriver.for :chrome
b.driver.manage.timeouts.implicit_wait = $BROWSER_IMPLICIT_WAIT

我对Selenium还是相当陌生,我使用了等待。在声明如下内容后,直到命令:

wait = Selenium::WebDriver::Wait.new(:timeout => $BROWSER_EXPLICIT_WAIT)

以上代码行在Firefox中运行良好。但是,我想用FF和Chrome运行我的脚本。有没有办法在Chrome和FF中做到这一点?

谢谢

共有1个答案

曹普松
2023-03-14

现在,您可以提供更容易解决的错误。

原因是-您已将selenium驱动程序实例命名为b

但将隐含时间定义为

b.driver。管理暂停。隐式等待=$BROWSER\u隐式等待

ie withb.DRIVER,因此错误消息-未定义的方法'驱动程序'为

将命令更改为

b.manage.timeouts.implicit_wait = $BROWSER_IMPLICIT_WAIT
 类似资料:
  • 我正在使用Ruby和selenium webdriver gem创建一个web爬行/抓取脚本。我几乎完成了这个项目,但在某个点上卡住了,我正在抓取的站点用于对服务器的页面调用并显示一个字符串,问题是它显示了50%的时间,而不是100%。所以我需要循环get函数,直到它显示字符串。 我使用了隐式 我需要的是 好吧,我可以使用正常的睡眠10并且工作正常,但如果调用首先返回字符串,这是浪费时间

  • 问题内容: 我正在浏览一个Web应用程序,如果尝试单击某个元素之后才能与之交互,则该Web应用程序通常会引发错误。 使用Selenium WebDriver(java)时,我可以轻松解决此问题: 但是,我试图使用Selenium类型库在VBA中编写脚本,尽管尝试了许多不同的方法,但我唯一的成功是: 有人告诉我,应该尽可能避免这样做。如果有人可以建议如何将Java转换为VBA或提供任何其他解决方案,

  • 等待元素出现在网页上的最佳方式是什么?我已经读到,我们可以使用隐式等待和功能,如网络驱动程序wait,流利的等待等,最后但不是最不重要的线程.sleep()...我使用最多,但想停止使用。 我的场景: 用户登录到网站…网站检查凭据,并以叠加的形式向用户提供报价(一种弹出窗口,但不是单独的窗口)。我需要验证叠加图上的文字。用户登录和显示覆盖之间存在时间间隔。最好的方法是什么,以便硒只等待元素不可见的

  • 我可以让selenium webdriver“默认”等待它的每个操作执行吗?例如,设置任何“默认等待时间”,使其尝试每500毫秒点击每个元素10次?

  • 问题内容: 我希望实现 c#中的函数,等待文本出现。但是,仅在Java中可用。有没有一种简单的方法可以在c#中实现这一点,等待文本出现在页面上? 问题答案: Selenium是开源的,因此请看一下它的作用: https://github.com/SeleniumHQ/selenium/blob/master/java/client/src/org/openqa/selenium/support/u

  • 我正在为基于角度的应用程序创建测试,我需要帮助。我必须创建一个等待,这将等待,直到所有挂起的请求将被处理。基本上,在我的场景中,我希望标记一个复选框,但它只有在GET请求完成时才可用,如果我使用简单的,一切都很好,但我知道这不是解决这个问题的可靠方法。我尝试了两种方法: 我也试过: 15秒后超时,似乎不起作用。请帮助,如果你可以,据我所知,我需要执行JavaScript代码,我是新手在它。