xpath

driver.findElement(By.xpath("//input[@accesskey='9']"));


我们如何在accesskey属性中传递动态值,因为accesskey属性分配有任何整数

所以我从数据库中获取该ID并尝试在java中如何在accesskey属性中传递该ID?

HTML代码

td style="width: 5%;">
<input type="checkbox" data-bind="attr: { accesskey: Id }" accesskey="6">
</td>
<td style="width: 5%;">
<input type="checkbox" data-bind="attr: { accesskey: Id }" accesskey="7">
</td>


Java代码

public void portfolioRenewalSearch(String portfolioId) throws Exception {

        try {
            driver.findElement(By.xpath("//input[@accesskey= portfolioId]"))
                    .click();
        } catch (AssertionError Ae) {
            Ae.printStackTrace();
        }
    }


但是上面的代码显示了异常“ selenium.NoSuchElementException”

最佳答案

尝试使用以下代码段在运行时传递值

public void portfolioRenewalSearch(String portfolioId) throws Exception {
    try {
        driver.findElement(By.xpath("//input[@accesskey="+portfolioId+"]"))
                .click();
    } catch (AssertionError Ae) {
        Ae.printStackTrace();
    }
}

09-19 21:58