我再次尝试在 Excel (2013) VBE 中使用 Selenium Basic ChromeDriver (v 75.0.3770.140) 在 Chrome (v 75.0.3770.100) 中选择单选按钮。这是 HTML:
<div class=radio-wrap>
<input id="shipToSelect" type="radio" class="radio"
name="soldToShipToselection" value="SH" ng-click="radioClicked($event)">
<label for="shipToSelect" class="radio-label">
<i></i>
<span>Ship-to</span>
</label>
</div>
我尝试了以下方法但没有成功:
obj.FindElementByCss("div.radio-wrap>input.radio[id$='radio']").Click
obj.FindElementByName("soldToShipToselection").Click
obj.FindElementById("shipToSelect").Click
obj.FindElementByXPath("//div[@class='radio-wrap']/input[.,(@id,'shipToSelect')]").Click
最佳答案
要单击与收货方文本关联的单选按钮,您可以使用以下任意一项 Locator Strategies :
css选择器
:driver.FindElementByCss("label[for='shipToSelect']").Click
xpath
:driver.FindElementByXPath("//label[@for='shipToSelect']").Click
注意:因为它是 JavaScript启用的元素,您需要诱导一个服务员使该元素可点击
<小时/>更新
作为替代方案,您可以尝试以下任一定位器策略:
css选择器
:driver.FindElementByCss("input.radio#shipToSelect[name='soldToShipToselection']").Click
xpath
:driver.FindElementByXPath("//input[@class='radio' and @id='shipToSelect'][@name='soldToShipToselection']").Click
关于excel - 需要帮助使用 Excel VBA Selenium Basic 在 Chrome 中选择单选按钮(第二部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57043056/