Selenium:无法 select 单选按钮
Selenium: Not able to select the radio button
我正在尝试 select 使用 selenium 的单选按钮,当我 运行 脚本 selenium 没有 select 单选按钮并移动到下一步而不 select 单选按钮没有给我任何错误。
下面是 HTML 同样的:
<div class="col-12 scrolling pend active" id="mergeTransTable">
<div class="title-table transactions">
<div class="expenseDetailId" style="cursor: pointer;">
<input id="hdnMergeOtherDataCount" name="hdnMergeOtherDataCount" type="hidden" value="0">
</div>
<div class="comment" style="cursor: pointer;" width="20%">Comment
<div class="vendor" style="cursor: pointer;">Vendor </div>
</div>
<div class="receipt" style="cursor: pointer;">
Receipt
</div>
</div>
<div class="data-table transactions">
<div class="expenseDetailId" data-title="ExpenseDetailId" style="margin-top:2%;">
<input type="radio" name="ExpenseDetailId" id="ExpenseDetailId" class="chk" value="163867">
</div>
<div class="vendor" data-title="Vendor">AMAZON</div>
<div class="comment" data-title="Comment" width="20%">
UBER
</div>
<div class="receipt"" data-title="Receipt">
<a id="Receipt" href="abc.com" onclick="return ViewReceipt('/ExpenseDetailId=163867')">Receipt</a>
</div>
</div>
</div>
下面是我为 select 单选按钮
编写的 xpath
driver.findElement(By.xpath("//*[@id='mergeTransTable']/div[2]/div[1]")).click();
driver.findElement(By.xpath("//div[@id='mergeTransTable']//div[@class='expenseDetailId' or starts-with(@data-title,'ExpenseDetailId')]")).click();
使用 CSS 也无济于事。
也尝试了 Java 脚本和操作 class,但似乎没有任何效果。 Selenium 只是不 select 单选按钮
查看您的代码,您似乎是在“单击”div
而不是单选按钮。因此什么也没有发生,也没有错误消息。为什么不直接点击id为ExpenseDetailId
的元素?
driver().findElement(By.id("ExpenseDetailId")).click();
点击输入而不是 div 标签。
//*[@id='mergeTransTable']/div[2]/div[1]/input
我正在尝试 select 使用 selenium 的单选按钮,当我 运行 脚本 selenium 没有 select 单选按钮并移动到下一步而不 select 单选按钮没有给我任何错误。
下面是 HTML 同样的:
<div class="col-12 scrolling pend active" id="mergeTransTable">
<div class="title-table transactions">
<div class="expenseDetailId" style="cursor: pointer;">
<input id="hdnMergeOtherDataCount" name="hdnMergeOtherDataCount" type="hidden" value="0">
</div>
<div class="comment" style="cursor: pointer;" width="20%">Comment
<div class="vendor" style="cursor: pointer;">Vendor </div>
</div>
<div class="receipt" style="cursor: pointer;">
Receipt
</div>
</div>
<div class="data-table transactions">
<div class="expenseDetailId" data-title="ExpenseDetailId" style="margin-top:2%;">
<input type="radio" name="ExpenseDetailId" id="ExpenseDetailId" class="chk" value="163867">
</div>
<div class="vendor" data-title="Vendor">AMAZON</div>
<div class="comment" data-title="Comment" width="20%">
UBER
</div>
<div class="receipt"" data-title="Receipt">
<a id="Receipt" href="abc.com" onclick="return ViewReceipt('/ExpenseDetailId=163867')">Receipt</a>
</div>
</div>
</div>
下面是我为 select 单选按钮
编写的 xpathdriver.findElement(By.xpath("//*[@id='mergeTransTable']/div[2]/div[1]")).click();
driver.findElement(By.xpath("//div[@id='mergeTransTable']//div[@class='expenseDetailId' or starts-with(@data-title,'ExpenseDetailId')]")).click();
使用 CSS 也无济于事。
也尝试了 Java 脚本和操作 class,但似乎没有任何效果。 Selenium 只是不 select 单选按钮
查看您的代码,您似乎是在“单击”div
而不是单选按钮。因此什么也没有发生,也没有错误消息。为什么不直接点击id为ExpenseDetailId
的元素?
driver().findElement(By.id("ExpenseDetailId")).click();
点击输入而不是 div 标签。
//*[@id='mergeTransTable']/div[2]/div[1]/input