Salesforce 应用程序中的 xpath 说明

xpath clarification in Salesforce application

使用 selenium webdriver 和 java 为 salesforce 应用程序创建自动化测试脚本。我的 XPath 中有一些说明。 下面是销售人员应用程序 [Lightning 模式]

的 HTML 代码
<div one-appnavbarmenubutton_appnavbarmenubutton="" class="menuItemsWrapper" style="" xpath="1">
<slot one-appnavbarmenubutton_appnavbarmenubutton="">
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Tech Path
</span>
</span>
</one-app-nav-bar-menu-item>
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Keyword
</span>
</span>
</one-app-nav-bar-menu-item>
<one-app-nav-bar-menu-item one-appnavbaritemdropdown_appnavbaritemdropdown="" class="slds-dropdown__item" one-appnavbarmenuitem_appnavbarmenuitem-host="">
<span one-appnavbarmenuitem_appnavbarmenuitem="" class="slds-truncate">
<span one-appnavbarmenuitem_appnavbarmenuitem="">Invention Disclosures by Hierarchy
</span>
</span>
</one-app-nav-bar-menu-item>
</slot>
</div>

从上面,我想得到标签的总数<one-app-nav-bar-menu-item>

下面是我的测试脚本

WebElement menuCount = driver.findElement(By.xpath("//div[@class='menuItemsWrapper']//slot"))
List<WebElement>menuItemCount = menuCount.findElements(By.tagName("one-app-nav-bar-menu-item"))

当我执行时,我得到 menuITemCount =0

让我知道我的脚本有什么问题

环境: chromedriver

尝试调整到 By.xpath("//one-app-nav-bar-menu-item")

处理动态元素引发WebDriverWait。

WebDriverWait wait = new WebDriverWait(driver, 20);         
WebElement menuCount=wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='menuItemsWrapper']//slot")));
List<WebElement>menuItemCount = menuCount.findElements(By.xpath(".//one-app-nav-bar-menu-item"));
System.out.println(menuItemCount.size());