在Salesforce搜索结果中找不到元素

时间:2019-09-06 10:51:44

标签: java selenium

我已经在Salesforce中搜索了一个帐户,它给出了一些搜索结果。但是我无法在Selenium中找到该元素。

我也尝试过使用绝对/相对xpathCSSSelectorLinkText

已使用:driver.findElement(By.linkText("ILT_Order1")).click();

<a href="javascript:srcUp(%27%2F0010C000003HmzI%3FsrPos%3D0%26srKp%3D001%26isdtp%3Dvw%27);" data-seclke="Account" data-seclkh="b2e6250471c982c9bec58d55cc1e0f42" data-seclki="0010C000003HmzI" data-seclkp="/0010C000003HmzI" data-seclkr="1" onmousedown="searchResultClick.mousedown(this, event)">ILT_Order1</a>

我找不到该元素。

2 个答案:

答案 0 :(得分:1)

得出WebDriverWaitelementToBeClickable并遵循xpath。 如果仍然找不到,请检查页面上是否有iframe

WebDriverWait wait = new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@data-seclke='Account'][text()='ILT_Order1']")));
element.click()

答案 1 :(得分:0)

由于该元素是启用了JavaScript的元素,因此在该元素上click()上需要使用elementToBeClickable(),并且可以使用以下Locator Strategies之一: >

  • linkText

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("ILT_Order1"))).click();
    
  • cssSelector

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a[data-seclke='Account'][onmousedown^='searchResultClick'][href]"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@data-seclke='Account' and text()='ILT_Order1'][starts-with(@onmousedown, 'searchResultClick')]"))).click();