Java 如何为html代码的linkText编写代码

Java 如何为html代码的linkText编写代码,java,selenium,xpath,css-selectors,linktext,Java,Selenium,Xpath,Css Selectors,Linktext,我是selenium的新手,正在尝试为html代码编写linktext代码 <a href="repopulateUser.jsp?authAuthSessionId=7DD74346650647B7BA9ED08C1ABAE66D&amp;roleId=bc95f1f2-9ccd-11e8-9a37-0050568817ef&amp;ROLE=Programmer&amp;ROLECODE=PROGRAMMER&amp;roleGrpId=f4c11ca7

我是selenium的新手,正在尝试为html代码编写linktext代码

<a href="repopulateUser.jsp?authAuthSessionId=7DD74346650647B7BA9ED08C1ABAE66D&amp;roleId=bc95f1f2-9ccd-11e8-9a37-0050568817ef&amp;ROLE=Programmer&amp;ROLECODE=PROGRAMMER&amp;roleGrpId=f4c11ca7-9c1b-11e8-9a37-0050568817ef&amp;moduleId=cb475927-7eb1-11e8-97d0-0050568817ef&amp;studyId=null" class="labels">Programmer</a>
上面的代码不起作用,是不是出了什么问题?

如果HTML中唯一标识了带有文本Programmer的元素,则linkText应该起作用。由于元素是已启用的元素,因此要在元素上单击(),您需要使用
elementtobelickable()
,并且可以使用以下选项:

  • linkText

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.linkText("Programmer"))).click();
    
可供替代的 作为替代方案,您也可以使用以下任一项:

  • css选择器

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.labels[href^='repopulateUser']"))).click();
    
  • xpath

    new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='labels' and starts-with(@href, 'repopulateUser')][text()='Programmer']"))).click();
    

注释中提到了html代码。“不工作”是什么意思?它会抛出错误吗?如果是,请编辑您的问题并发布错误消息。它不会给出输出。预期的输出类型是什么?
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//a[@class='labels' and starts-with(@href, 'repopulateUser')][text()='Programmer']"))).click();