Ruby 恶灵可以';我有时找不到元素

Ruby 恶灵可以';我有时找不到元素,ruby,capybara,integration-testing,poltergeist,Ruby,Capybara,Integration Testing,Poltergeist,我使用的是PhantomJS2.1.1、ruby 2.3.1p112。这是我的密码: Capybara.default_driver = :poltergeist page.find('input[type="submit"]').trigger("click") page.should have_content("#{user.email} created.") 这段代码适用于chorme和firefox的webdriver,但有时不适用于poltergeist。我不知道

我使用的是PhantomJS2.1.1、ruby 2.3.1p112。这是我的密码:

  Capybara.default_driver = :poltergeist    
  page.find('input[type="submit"]').trigger("click")
  page.should have_content("#{user.email} created.")

这段代码适用于chorme和firefox的webdriver,但有时不适用于poltergeist。我不知道为什么。有人能帮忙吗?

PhantomJS不再受到积极支持。使用Chrome Headless或其他无头浏览器解决方案

因为chrome或firefox的驱动程序不支持
trigger
(如果要进行测试,就不应该使用
trigger
)。除此之外,要获得更多帮助,您需要提供您获得的确切失败消息以及您尝试与之交互的HTML示例-请参见抱歉,当我使用chrome或firefox运行时,我将触发器更改为clink Function然后您需要弄清楚为什么需要使用Poltergeist的
触发器
,并解决该问题(这可能也会修复您的间歇性故障)。
测试应用程序时应尽可能避免使用触发器(如果只是抓取页面就可以了)因为这意味着你的测试实际上没有做用户会做的事情,因此有可疑的价值。那么我应该用什么来代替触发器呢?你能告诉我你应该在测试时使用
点击
点击
-所以
页面。查找('input[type=“submit”]')。点击
或者更好的是
页面。点击按钮('submit按钮的文本'))
你能给我一个关于无头浏览器的关键工作吗?我不确定我是否完全理解你的问题。这是无头chrome:我遇到的另一个选择是SlimerJS。这两种浏览器都有很好的入门文档。