Selenium 水豚/黄瓜找不到收音机
我在查找单选按钮时遇到问题。以下是html的一个片段:Selenium 水豚/黄瓜找不到收音机,selenium,cucumber,capybara,Selenium,Cucumber,Capybara,我在查找单选按钮时遇到问题。以下是html的一个片段: <form action="/" id="frm-info" method="post"><input id="ClickedButton" name="ClickedButton" type="hidden" value="" /><input name="__RequestVerificationToken" type="hidden" value="KTQF3bkKPP0OirvtL1EYsW-Q77zq
<form action="/" id="frm-info" method="post"><input id="ClickedButton" name="ClickedButton" type="hidden" value="" /><input name="__RequestVerificationToken" type="hidden" value="KTQF3bkKPP0OirvtL1EYsW-Q77zq-8H9YAPqeoBB9ewpNSYoc0dOEout26qrtMmX6xBx0_roxqWRwCXAlwZRTyW9ZBTBjwNgifWqws6hyOFIRmc6O-7P6jZXbZNYJ5Pazt9Hmg2" /> <div class="row borGreyPad mlmrcolor bb0">
<div class="col-sm-12 coverImage">
<div class="col-md-7 col-lg-6 fr xs-fl">
<div class="frm-content axaborderBlue mt10">
<div class="pl25 pt15 pr15 pb10">
<p class="large-heading">Enter some basic information to get started</p>
<div class="row ">
<div class="row pl15">
<div class="col-sm-4 r xs-l mb5 f14">Application Taken: *</div>
<div class="col-sm-8 mb5">
<div class="groupBox">
<span class="dib f14 ">
<input id="ApplicationTaken" name="ApplicationTaken" tabindex="1" type="radio" value="ApplicationInPerson" /><span class="dib mr10 ">In Person</span>
</span>
<span class="dib f14 ">
<input id="ApplicationTaken" name="ApplicationTaken" tabindex="2" type="radio" value="ApplicationByPhone" /><span class="dib mr10 ">By Phone</span>
</span>
</div>
及
当我用名字点击收音机时
"([^"]*)" and value "([^"]*)"$/ do |myName, myValue|
choose("#{myName}", :option => "#{myValue}")
end
"([^"]*)" and value "([^"]*)"$/ do |myName, myValue|
find(:xpath, "//input[@value='#{ myValue }']", match: :first).set(true)
end
我一直看到以下错误:
"Unable to find radio button "ApplicationTaken" with value "ApplicationInPerson".
我也试过身份证,运气不好。我可以在此页面上选择一个按钮并填写文本字段,但我不能选择单选按钮或下拉列表。谢谢,因为您正在使用水豚试一试:
choose('Visible Text')
见:
首先,您有两个具有相同id的单选按钮。这很糟糕-页面上不应该有重复的id。当存在重复项时,尝试按ID查找元素是非常不可预测的 最有可能发生的情况是,它正在查找具有匹配ID的第一个元素,然后检查value属性。如果不匹配,则表示找不到元素,因为由于ID选择器内部的工作方式,元素不会继续到下一个匹配的ID 我看到您也在使用xpath查找元素。通常应该使用CSS而不是xpath来查找元素
因此,不使用ID,而是使用CSS,查找“input[name=ApplicationTaken][value=ApplicationInPerson]”应该可以找到您要查找的元素。您确实需要清理它。何时单击?这是完全不可读的垃圾。仍然没有运气,这是我最初尝试的一个选项,但再次尝试只是为了确定,仍然找不到。选择“通过电话”找不到?HmmmStill不起作用…获取:找不到css radio[name=ApplicationTaken][value=ApplicationInPerson]很抱歉,我的意思是:输入[name=ApplicationTaken][value=ApplicationInPerson]注意这是一个输入元素,不是radio元素。我也会更新原始评论,以防有人无意中发现这一点寻求帮助。