excel - 需要帮助使用 Excel VBA Selenium Basic 在 Chrome 中选择单选按钮(第二部分)

标签 excel vba selenium xpath css-selectors

我再次尝试在 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/

相关文章:

Excel Jet Access 查询,模拟 vlookup

查找包含单元格的一组区域的算法

excel - VBA Excel - 在 VBA 中复制 Excel MAX 公式

vba - 如何附加或组合范围?

java - 为什么这个类方法返回 'null' ?

java - Selenium 与 TestNG 和 Java 中的数据提供程序不匹配错误 | org.testng.internal.reflect.MethodMatcherException

android - 使用 Appium 进行自动化调试应用程序是必须的吗?

excel - 使用 VBA 将图像从一张纸的页眉/页脚复制到另一张纸

excel - 运行打开 MessageBox 的宏

python - 如何通过xlwings包导入numpy? "ImportError: DLL load failed: The specified module could not be found."