Selenium 水豚/黄瓜找不到收音机

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

我在查找单选按钮时遇到问题。以下是html的一个片段:

<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元素。我也会更新原始评论,以防有人无意中发现这一点寻求帮助。