Невозможно найти элемент в соответствии с тегом привязки ниже - PullRequest
0 голосов
/ 19 декабря 2018

Посоветуйте, пожалуйста, как найти ссылку на тег New business в приведенном ниже коде.Я пробовал следующий xpath, но он не работал:

driver.findElement(By.linkText("NEW BUSINESS")).click
driver.findElement(By.xpath("//span[@class='hdBottomBar']/a[1]"))

HTML:

<span class="hdBottomBar">
                <a class="hdTopBar" href="javascript: void navCntl('NewBusiness','NavBar');" onmouseover="window.status='New Business';return true" onmouseout="window.status='';return true" name="newBusiness">NEW BUSINESS</a>

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Элемент является JavaScript включенным элементом, поэтому для вызова click() вы должны заставить WebDriverWait для элемента быть активным , и вы можете использовать либоиз следующих решений:

  • linkText:

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

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("span.hdBottomBar>a.hdTopBar[name='newBusiness']"))).click();
    
  • xpath:

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='hdBottomBar']/a[@class='hdTopBar' and @name='newBusiness'][text()='NEW BUSINESS']"))).click();
    
0 голосов
/ 19 декабря 2018

попробуйте с:

//span[@class='hdBottomBar']/a[@name='newBusiness']

или

//span[@class='hdBottomBar']/a[text()='NEW BUSINESS']
...