gpt4 book ai didi

java - Selenium getAttribute(href) 使用 java 返回 null 值 - Salesforce 应用程序

转载 作者:行者123 更新时间:2023-12-02 00:04:33 24 4
gpt4 key购买 nike

这是 salesforce 应用程序。我想从 <a> 获取以下属性值标签

  1. 引用

  2. 标题

HTML 代码

<one-app-nav-bar-item-root one-appnavbar_appnavbar="" data-id="home" data-assistive-id="operationId" aria-hidden="false" draggable="true" class="navItem slds-context-bar__item slds-shrink-none slds-is-active" role="listitem" xpath="1">
<a href="/lightning/page/home" title="Home" tabindex="0" draggable="false" aria-describedby="operationId-14" class="slds-context-bar__label-action dndItem" style="">
<span class="slds-truncate">Home</span>
</a></one-app-nav-bar-item-root>

Selenium 代码(groovy 脚本语言)

for(int i:(1..size)){
WebElement getHref = driver.findElement(By.xpath("//one-app-nav-bar-item-root[${i}]//a[1]"))
println getHref.getAttribute("href")
println getHref.getAttribute("title")
}

输出

null
null

注意:当我在 FireFox 中执行上述代码时,我得到了预期的结果

最佳答案

要提取 hreftitle 属性的值,您必须为 visibilityOfElementLocated() 引入 WebDriverWaitelementToBeClickable() 并且您可以使用以下 Locator Strategies :

  • xpath:

    • href:

      System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//one-app-nav-bar-item-root/a[//span[text()='Home']]"))).getAttribute("href"));
    • 标题:

      System.out.println(new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//one-app-nav-bar-item-root/a[//span[text()='Home']]"))).getAttribute("title"));

关于java - Selenium getAttribute(href) 使用 java 返回 null 值 - Salesforce 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58163017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com