【问题标题】:xpath clarification in Salesforce applicationSalesforce 应用程序中的 xpath 说明
【发布时间】:2019-10-11 10:28:53
【问题描述】:

使用 selenium webdriver 和 java 为 salesforce 应用程序创建一个自动化测试脚本。我在我的 XPath 中有一些说明。 下面是 Salesforce 应用程序的 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>

从上面我想得到标签&lt;one-app-nav-bar-menu-item&gt;的总数

下面是我的测试脚本

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

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

环境: 铬驱动程序

【问题讨论】:

    标签: selenium-webdriver xpath webdriver salesforce salesforce-lightning


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      处理动态元素诱导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());
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-09
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多