【问题标题】:Filling out form with Selenium works on Chrome but not Firefox使用 Selenium 填写表单适用于 Chrome,但不适用于 Firefox
【发布时间】:2018-10-16 06:51:13
【问题描述】:

我正在尝试在 Firefox 中使用 Selenium 和 ruby​​ 填写文本区域,但由于某种原因,下面的代码不起作用。但是,当我将相同的脚本切换到 Chrome 驱动程序时,它确实可以工作。

browser.textarea(:placeholder => "Add a comment…").set "#{randomly_chosen_comment}"

在 Firefox 上,我收到此错误:

/Users/miajohansson/.rvm/gems/ruby-2.2.4/gems/watir-6.10.3/lib/watir/elements/element.rb:623:in `raise_present': element located, but timed out after 30 seconds, waiting for #<Watir::TextArea: located: true; {:placeholder=>"Add a comment…", :tag_name=>"textarea"}> to be present (Watir::Exception::UnknownObjectException)
    from /Users/miajohansson/.rvm/gems/ruby-2.2.4/gems/watir-6.10.3/lib/watir/elements/element.rb:669:in `rescue in element_call'
    from /Users/miajohansson/.rvm/gems/ruby-2.2.4/gems/watir-6.10.3/lib/watir/elements/element.rb:680:in `element_call'
    from /Users/miajohansson/.rvm/gems/ruby-2.2.4/gems/watir-6.10.3/lib/watir/user_editable.rb:11:in `set'
    from instabot.rb:68:in `block (2 levels) in <main>'
    from instabot.rb:36:in `each'
    from instabot.rb:36:in `block in <main>'
    from instabot.rb:35:in `loop'
    from instabot.rb:35:in `<main>'

我已经为此工作了好几个小时,但我似乎无法弄清楚为什么它不起作用。我需要让它在 Firefox 上运行。非常感谢任何帮助!

【问题讨论】:

  • 您可以提供网址吗?让我检查一下?
  • 请提供 html,因为问题似乎很有趣。
  • @Rajagopalan 我添加了 html 代码,链接就是任何 Instagram 帖子
  • 哦抱歉 url 在程序里面,我可以看到。
  • 好的,谢谢,我现在试试。

标签: ruby selenium-webdriver watir selenium-firefoxdriver


【解决方案1】:

我无法重现您的问题;它在不使用已弃用的驱动程序的情况下为我工作。您使用的是最新的 Firefox 和 geckodriver 版本吗?

一个问题是点不是句点,而是不同的 unicode;这适用于最新的 geckodriver 就好了:

browser.textarea(placeholder: /Add a comment/).set "#{randomly_chosen_comment}"

或者,因为这是页面上的第一个 textarea,您可以这样做:

browser.textarea.set "foo"

【讨论】:

  • 我已经为 Java 绑定写了这个答案,我要求她使用 Legacy Driver,你能接受这个问题吗?你能通过 geckodriver 实现吗? stackoverflow.com/questions/50186199/…
  • 您好,您可以使用您的 geckodriver 来解决上述问题吗?如果不能,你能承认用 geckodriver 没用吗?
  • 是的,我只是说它在 irb 中使用最新的生产 Firefox 和驱动程序对我有用,而且我无法重现 OP 问题。
  • 不,我不是要求为这个问题工作,而是要求您找到下面给出的 url 的解决方案,我在 Java 绑定中写了一个答案,我要求使用旧版驱动程序stackoverflow.com/questions/50186199/…
  • 这个帖子是针对这个问题的。对于这个问题,不需要 legacy,所以不要告诉 OP 在不需要使用时使用明确弃用的工具。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2013-11-03
  • 1970-01-01
  • 2018-09-08
  • 2014-11-17
  • 2015-06-09
  • 2011-08-21
相关资源
最近更新 更多