Невозможно найти элемент для Salesforce Lightning - PullRequest
0 голосов
/ 28 января 2019

Технология:

  • Salesforce
  • Молния
  • Selenium Webdriver

HTML:

<a href="/lightning/o/Acq_Prospect__c/home" title="Acq Prospects" tabindex="0" draggable="false" aria-describedby="operationId-20" class="slds-context-bar__label-action dndItem" style="" xpath="1"></a>

Испытания кода:

driver.findElement(By.xpath("//a[@title='Acq Prospects']"));
driver.findElement(By.linkText("Acq Prospect"));

Ошибка:

Unable to find an element

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Чтобы найти нужный элемент, вам нужно вызвать WebDriverWait для elementToBeClickable , и вы можете использовать любое из следующих решений:

  • cssSelector:

    WebElement Acq_Prospects = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.slds-context-bar__label-action.dndItem[href='/lightning/o/Acq_Prospect__c/home']")));
    
  • xpath:

    WebElement Acq_Prospects = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='slds-context-bar__label-action dndItem' and @href='/lightning/o/Acq_Prospect__c/home']")))
    
0 голосов
/ 28 января 2019

Вам просто нужно подождать, пока объект не станет видимым.Вы можете использовать следующий код:

WebDriverWait wait = new WebDriverWait(driver, 30);
wait.Until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[@title='Acq Prospects']")));

Для получения дополнительной информации; ссылка .

Примечание: Также убедитесь, что нет никакого элемента, перекрывающего ваш объект, который вы пытаетесь найти.

...