Selenium - Как найти объект ссылки - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть следующий HTML-код на странице, которую я тестирую в IE11 с использованием Java.

<a href="BCreate.asp?Tab=Batches&amp;View=Batches"><span class="link_bar link_bar_link">Create New</span></a>

При попытке найти по linkText появляется ошибка:

driver.findElement(By.linkText("Create New")).click();

Ошибкаиспользуя xpath (xpath прекрасно подходит для этой ссылки в IE, Chrome и FireFox):

driver.findElement(By.xpath("/html/body/div[5]/div/div[1]/table/tbody/tr/td/div/nobr/a[2]/span")).click();

Я также пытался найти по классу, но безуспешно:

WebElement parentElement = driver.findElement(By.className("link_bar link_bar_link"));
WebElement childElement = parentElement.findElement(By.linkText("Create New"));
childElement.click();

Есть идеи как найти и нажать на эту ссылку?

1 Ответ

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

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

  • cssSelector :

    WebElement elem = driver.findElement(By.cssSelector("a[href*='View=Batches']>span.link_bar.link_bar_link"));
    
  • xpath:

    WebElement elem = driver.findElement(By.xpath("//a[contains(@href,'View=Batches')]/span[@class='link_bar link_bar_link' and contains(.,'Create New')]"));
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...