Selenium 查找重复angularJs项的xpath

Selenium 查找重复angularJs项的xpath,selenium,firefox,junit,Selenium,Firefox,Junit,如何找到angularJs元素的xpath?例如,我发现由于angularJs中的重复项--> 但是我有10个元素,它们在文本中是不同的,所以我试着用`“ 所以我试过了,但没找到 .//[@id='div_1_1_1_2']/div/div[1]/div[2]/div[2]/div/div[2]/div[1]/div/div[2]/a[contains(@aria-label='Creazione Prodotto')]"` 我使用selenium、junit4和firefox webDri

如何找到angularJs元素的xpath?例如,我发现由于angularJs中的重复项-->

但是我有10个元素,它们在文本中是不同的,所以我试着用`“

所以我试过了,但没找到

.//[@id='div_1_1_1_2']/div/div[1]/div[2]/div[2]/div/div[2]/div[1]/div/div[2]/a[contains(@aria-label='Creazione Prodotto')]"` 
我使用selenium、junit4和firefox webDriver

这是我的密码

public class PB01_TTT {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  WebElement element;




    @Before()
      public void setUp() throws Exception {

    FirefoxProfile fxProfile = new FirefoxProfile();
    fxProfile.setPreference("browser.download.folderList", 2);
    fxProfile.setPreference("browser.download.manager.showWhenStarting", false);

    fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
    fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk",
            "application/pdf, application/x-pdf, application/octet-stream");
    fxProfile.setPreference("pdfjs.disabled", true);
    driver = new FirefoxDriver(fxProfile);
    baseUrl = "https://w8aon2bpm.replynet.prv:9443";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }




     @Test
      public void testPBO1TTT() throws Exception {

            driver.get(baseUrl + "/ProcessPortal/login.jsp");
          //    driver.get(baseUrl + "/ProcessPortal/dashboards/SYSRP/RESPONSIVE_WORK");

            driver.findElement(By.id("username")).clear();
            driver.findElement(By.id("username")).sendKeys("user");
            driver.findElement(By.id("password")).clear();
            driver.findElement(By.id("password")).sendKeys("password");





            String columnToDisplay=driver.findElements(By.xpath(".//*[@id='div_1_1_1_2']/div/div[1]/div[2]/div[2]/div/div[2]/div[1]/div/div[2]/a[contains(@aria-label='Creazione Prodotto')]"));


        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);



                   element = (WebElement) driver.findElements(By.xpath(columnToDisplayXpath));

                   Assert.assertNotNull(element);
它总是返回一个notFoundElement,有什么建议吗


谢谢

如果您有10个链接,那么即使路径相同,它们也很有可能在某种程度上不同,在这种情况下,您需要根据不同的内容构建路径。
例如:使用href、text或其他任何不同的部分

//a[contains(@href, 'part_of_href')]
//a[contains(text(), 'part_of_text')]
//a[@title='title']
//a[contains(@aria-label='Creazione Prodotto')]
如果您在获取选择器时需要任何帮助,请添加链接的html部分,如果需要,您可以更改url

提示:避免使用绝对XPath和属性,这些XPath和属性不会显示任何内容,它们可能会发生更改,例如:
/*[@id='div'u 1'u 1'u 1'u 2']/div/div[2]/div[2]/div/div[1]/div/div/div[2]/a[contains(@aria label='Creazione Prodotto')]”“
这将给你在未来的很多工作

//a[contains(@href, 'part_of_href')]
//a[contains(text(), 'part_of_text')]
//a[@title='title']
//a[contains(@aria-label='Creazione Prodotto')]