无法读取未定义的属性“ defaultView”

时间:2019-07-02 08:49:32

标签: selenium

<a href="/lightning/n/******__Country" title="Country" tabindex="0" draggable="false" aria-describedby="operationId-17" class="slds-context-bar__label-action dndItem">
  <span class="slds-truncate">Country</span></a>

我将xpath作为

WebElement tabName = driver.findElement(By.xpath("//a[contains(@href,'Country')]"));

我需要点击“国家/地区”链接

我尝试了以下选项,但没有用

 1) driver.findElement(By.xpath("//a[contains(@href,'Country') and @title='Country']")).click();

 2)     Actions actions = new Actions((WebDriver) driver.getWebDriver());
                actions.moveToElement(tabName).click().perform();

 3)         ((JavascriptExecutor) driver).executeScript("arguments[0].click();", tabName);
                waitForSeconds(5);

我正在调用目标异常

  

org.openqa.selenium.WebDriverException:JavaScript错误:无法读取   未定义的属性“ defaultView”

有人可以告诉我如何单击href链接吗?

2 个答案:

答案 0 :(得分:2)

要单击以下链接,请使用WebDriverWaitelementToBeClickable,然后使用以下xpath单击该链接。

WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@title='Country']/span[@class='slds-truncate'][contains(.,'Country')]"))).click();

答案 1 :(得分:2)

尝试以下代码-适用于Salesforce Lightning UI屏幕:

      WebElement element = driver.findElement(By.xpath("your xpath"));
      JavascriptExecutor executor = (JavascriptExecutor)driver;
      executor.executeScript("arguments[0].click();", element);

在对其进行测试后发现它可以正常工作。