我正在尝试使用watir以编程方式将文本提交到文本字段中。我正在使用Stack Overflow作为脚本的测试站点。
我能够引用搜索字段(name='q'
),但是“提交”按钮没有id
或name
属性。那么,您如何以编程方式引用“提交”按钮并单击呢?
这是我到目前为止的代码:
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
直接回答这个问题是好的,但是对如何自己找到解决问题的方法的解释是更好的,并且受到人们的赞赏。
答案 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