使用watir提交文本字段

时间:2018-08-01 00:59:24

标签: ruby watir

我正在尝试使用watir以编程方式将文本提交到文本字段中。我正在使用Stack Overflow作为脚本的测试站点。

我能够引用搜索字段(name='q'),但是“提交”按钮没有idname属性。那么,您如何以编程方式引用“提交”按钮并单击呢?

enter image description here

这是我到目前为止的代码:

require 'watir'
require 'pry'

browser = Watir::Browser.new :chrome, headless: true

browser.goto 'https://www.stackoverflow.com'
browser.text_field(:name, "q").set('user:963076') #the search bar name='q'
browser.button(#how do I reference the submit button?, '').click
browser.screenshot.save 'screenafter.png' #the screenshot is so that I know what happened after clicking

browser.close
browser.quit

直接回答这个问题是好的,但是对如何自己找到解决问题的方法的解释是更好的,并且受到人们的赞赏。

1 个答案:

答案 0 :(得分:1)

您必须单击此按钮

<button type="submit" aria-label="Search..." class="s-btn s-btn__primary btn-topbar-primary js-search-submit"><svg aria-hidden="true" class="svg-icon mx0 iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="M12.86 11.32L18 16.5 16.5 18l-5.18-5.14v-.35a7 7 0 1 1 1.19-1.19h.35zM7 12A5 5 0 1 0 7 2a5 5 0 0 0 0 10z"></path></svg></button>

按钮的类型属性的值为submit,因此我们可以使用它来找到该按钮,这是代码

browser.goto 'https://www.stackoverflow.com'
browser.text_field(name: "q").set('user:963076')
browser.button(type: 'submit').click