如何使用page.find使用rspec测试查找变量

我有一个测试用例,我的大多数其他页面至少有一个只是直文的字段,可以使用以下方法找到:

page.find("tr", text: "What I filled in").find("a.tick").click 

此页面的所有选项都是下拉选项,那么如何找到变量呢? 其余语法如下所示:

 it "edits person job and redirects to index" do expect(p = FactoryGirl.create(:person)).to be_valid() expect(j = FactoryGirl.create(:job)).to be_valid() visit new_job_path select p.name, from: "person_job_person_id" select p.name, from: "person_job_job_id" click_button "create person job" page.find("tr", p).find("a.tick").click end 

它无法找到要点击的p?

如果要单击p元素,可以使用css选择器xpath轻松完成:

 find(:css, 'the css selector of your p element').click 

要么

 find(:xpath, 'the xpath of your p element').click 

例如

 find(:css, 'body > div.layout > div > button').click 

如果您使用的是Chrome ,则可以通过检查元素轻松找到它们,右键单击其代码并复制css选择器xpath