1)我想找到由JSF在java基础应用程序中生成的自动生成的Id,这在所有系统中都是不同的。
2)使用selenium webdriver找到该元素的解决方案是什么?
答案 0 :(得分:0)
您可以使用webdriver定位任何元素,在您的情况下,您可以使用xpath进行定位,然后使用get属性值来查找自动生成的ID。 此外,您需要更具体地查询您的查询,始终建议发布HTML代码。
答案 1 :(得分:0)
您可以使用带有不同功能的修改或简单的xpath。
1)包含()
//ul[contains(@id, 'Model')]
模型是自动生成ID的常量部分。
2)AND / OR
//*[contains(@id,'ABC') AND @class='xyz']
替换并使用OR来表示不同的条件
3)有时我发现ID不包含任何常用文本
//*[contains(@class,'qwe')]
所以你有两个选择
答案 2 :(得分:0)
driver.findElement(By.xpath(".//*[@id='gwt-uid-41']")).click();
driver.findElement(By.xpath(".//*[@id='gwt-uid-31']")).click();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//不确定上面的驱动程序语法是否使SE WD等待
//下面有自动生成的id /想要知道如何搜索元素的xpath
//我的脚本失败并说找不到xpath,因为每次登录门户时id都会改变
driver.findElement(By.xpath(".//*[@id='ext-gen153']")).click();
driver.findElement(By.xpath(".//*[@id='ext-gen163']")).click();