如何使用Webdriver单击Facebook Like按钮

And*_*lov 5 webdriver capybara facebook-like

我正在尝试使用Webdriver单击Facebook Like按钮.您可以在此页面上看到示例"赞"按钮.

切换到iframe之后我尝试过:

page.execute_script("document.querySelector('.pluginConnectButton > div:first-child button').click()")
Run Code Online (Sandbox Code Playgroud)

切换到iframe后,此脚本可在Firebug和Chrome开发者工具中使用.

但它在FirefoxDriver和ChromeDriver中不起作用(脚本通过但按钮未更改为单击的按钮)

如何使用Webdriver单击此按钮?

小智 4

虽然这对我有用,但它似乎很脆弱。我必须使用一些 JavaScript 来获取 iframe 的 id,因为 FB 在每个页面加载时都会更改 id。幸运的是他们没有改变 iframe 的类。

id = page.evaluate_script("$('.fb_ltr').attr('id');")
within_frame(id) do
  page.first(:css, '.pluginButton').click
end
Run Code Online (Sandbox Code Playgroud)