首页 > 解决方案 > Selenium Xpath for Salesforce 页面复选框 - “选中”属性不存在

问题描述

问题:我发现难以处理 Salesforce 页面的复选框。我没有看到复选框的两种状态之间有任何区别。状态检查和未检查都显示相同的类、属性和文本。我不确定如何处理 Salesforce 上的复选框。请看下面的截图。我们确实有 ID,但它们是动态的,所以我不能在我的测试用例中使用 ID。

平台:JAVA、TestNG、Eclipse、Selenium

Only difference I see is when checkbox is selected then I can see below:
<span lightning-input_input="" class="slds-checkbox_faux" xpath="1">
: : after ==$0
</span>

when it's not checked the I can see below:

<span lightning-input_input="" class="slds-checkbox_faux" xpath="1">
</span>

到目前为止,我在 Salesforce 页面上所做的尝试对我没有帮助:

    String rr = driver.findElement(xpath).getAttribute("checked"); // not working

    isSelected(); // Not Working 

    document.getElementById('myInput').checked // Can not use this becasue of Dynamic ID 

以下链接我已经通过并在 Salesforce 页面上本地尝试过:

Selenium 复选框属性“已选中”

Xpath 确定 Selenium IDE 中的复选框“已选中”属性

没有选中属性的复选框

在此处输入图像描述

标签: javaselenium-webdriverxpath

解决方案


@Mike ASP 我在 salesforce 平台上有类似的场景。尝试将 xpath 用作
//*[@name='Existing_Tenant__c']它对我有用。如果您看到多个元素,请使用索引来获取您要检查的元素。例如(//*[@name='Existing_Tenant__c'])[1]。只需确保 xpath 突出显示 DOM 中的 type='checkbox' 标签。

下图是我的场景

在此处输入图像描述


推荐阅读