Selenium - 如何确定点击值(findElement)?

Selenium - How to determine the value on click (findElement)?

如果我在 HTML 上有一个像这样的 header:

<li class="nav-item px-1 pt-1">
    <a class="nav-link" href="http://localhost/ciblog/">Home</a>
</li>

<li class="nav-item px-1 pt-1">
    <a class="nav-link" href="http://localhost/ciblog/Book">Book</a>
</li>

<li class="nav-item px-1 pt-1">
    <a class="nav-link" href="http://localhost/ciblog/TestCreate">Create</a>
</li>

我想点“书”,怎么办?

这是我尝试过的:

await driver.findElement(By.css('a.nav-link')).click();

而且我知道那是行不通的,因为它们都有 nav-link class,我如何调用书的特定值?在 Selenium IDE 上,您只需输入 value = Book

可以用XPath定位:

await driver.findElement(By.xpath("//a[contains(text(),'Book')]")).click();

或使用 css 选择器

await driver.findElement(By.css("a[href*='Book']")).click();

我会说继续使用 linkText :

await driver.findElement(By.linkText("Book")).click();