Selenium 查找重复angularJs项的xpath
如何找到angularJs元素的xpath?例如,我发现由于angularJs中的重复项--> 但是我有10个元素,它们在文本中是不同的,所以我试着用`“ 所以我试过了,但没找到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
.//[@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')]