【发布时间】:2018-11-02 16:28:42
【问题描述】:
一直试图点击网站上的单选按钮无济于事。
<df-radio-group class="o-flex o-flex--distribute df-question ng-tns-c33-15 ng-has-value ng-touched ng-dirty ng-valid" aria-label="Title" id="title" aria-labelledby="title" role="radiogroup" style="float: left; width: 100%;">
<!----><df-radio _nghost-c40="" class="ng-tns-c33-15 is-checked" id="md-radio-93fd918"><label _ngcontent-c40="" class="df-radio-label" for="md-radio-93fd918-input">
<input _ngcontent-c40="" class="df-radio-input visually-hidden" type="radio" id="md-radio-93fd918-input" name="df-radio-group-0">
<div _ngcontent-c40="" class="md-radio-label-content">
Mr
</div>
</label></df-radio><df-radio _nghost-c40="" class="ng-tns-c33-15" id="md-radio-bd05b81"><label _ngcontent-c40="" class="df-radio-label" for="md-radio-bd05b81-input">
<input _ngcontent-c40="" class="df-radio-input visually-hidden" type="radio" id="md-radio-bd05b81-input" name="df-radio-group-0">
<div _ngcontent-c40="" class="md-radio-label-content">
Mrs
</div>
</label></df-radio><df-radio _nghost-c40="" class="ng-tns-c33-15" id="md-radio-ba9f195"><label _ngcontent-c40="" class="df-radio-label" for="md-radio-ba9f195-input">
<input _ngcontent-c40="" class="df-radio-input visually-hidden" type="radio" id="md-radio-ba9f195-input" name="df-radio-group-0">
<div _ngcontent-c40="" class="md-radio-label-content">
Miss
</div>
</label></df-radio><df-radio _nghost-c40="" class="ng-tns-c33-15" id="md-radio-ec973a5"><label _ngcontent-c40="" class="df-radio-label" for="md-radio-ec973a5-input">
<input _ngcontent-c40="" class="df-radio-input visually-hidden" type="radio" id="md-radio-ec973a5-input" name="df-radio-group-0">
<div _ngcontent-c40="" class="md-radio-label-content">
Ms
</div>
</label></df-radio>
</df-radio-group>
一直试图同时单击单选按钮和标签,但 selenium 不断抛出 no such element 错误,我在这个阶段有点沮丧。
在实际网站上可能更容易看到:
https://www.theaa.ie/car-insurance/journey/getting-started
输入电子邮件后在页面上。试图让一些测试用例运行,但不想点击这些单选按钮。
【问题讨论】:
-
你能分享你试过的代码吗?
-
我尝试了几种不同的方法。这是最新的。 private final RadioButton Mr = new RadioButton(By.cssSelector("#md-radio-93fd918 > label"));
-
你可以试试 XPath 吗?请检查以下 xpath 是否正常工作 WebElement mrElement=driver.findElement(By.xpath("//label[@class='df-radio-label']/input")); if(mrElement.isDisplayed()){ mrElement.click(); }
标签: java selenium selenium-webdriver