如何使用Ferrum::Browser调用onclick事件



我有一个使用Selenium::WebDriver抓取网页的代码。

driver = Selenium::WebDriver.for(:chrome)
driver.navigate.to(search_url)
driver.find_element(:name, 'searchText').send_keys('text')
driver.find_element(:name, 'searchButton').click

我试图用Ferrum::Brower替换代码,但没有成功。

browser = Ferrum::Browser.new
browser.goto(search_url)
browser.at_css('input[name=searchText]').focus.type('text')
browser.at_css('input[name=searchButton]').click

单击searchButton时,页面不会移动到结果页面。

这是用于搜索的输入标记。

<input class="activeButton" onclick="submitPage(document.forms['form1'],document.forms['form1'].ListShow);" value="Search" type="button" name="searchButton">

如何使用Ferrum调用onclick事件?

类似于type方法,我需要在单击Ferrum::Node实例之前将其集中。

- browser.at_css('input[name=searchButton]').click
+ browser.at_css('input[name=searchButton]').focus.click

您也可以直接在表单上使用#submit方法。

browser.at_css('form').submit

最新更新