Selenium 继续按钮-动态值

Selenium 继续按钮-动态值,selenium,selenium-webdriver,Selenium,Selenium Webdriver,我有3个注册页面,每个页面都有“继续”按钮。我想对所有3个页面使用一个方法,但它们有相同的xpath和不同的id。 如 第一页xpath://div[@id='personalInfo']//按钮[@class='btn btn primary btn block'][包含(text(),'Continue')] 第二页xpth://div[@id='AccountInfo']//按钮[@class='btn btn主btn块][包含(text(),'Continue')] 请让我知道我如何使用

我有3个注册页面,每个页面都有“继续”按钮。我想对所有3个页面使用一个方法,但它们有相同的xpath和不同的id。 如 第一页xpath:
//div[@id='personalInfo']//按钮[@class='btn btn primary btn block'][包含(text(),'Continue')]

第二页xpth:
//div[@id='AccountInfo']//按钮[@class='btn btn主btn块][包含(text(),'Continue')]

请让我知道我如何使用动态,因为我使用或为@id,但第一页的工作,但在第二页它说元素未找到

谢谢

我对@id使用了or,但在第一页中使用了or,但在第二页中,它表示找不到元素

第一页xpath:
//div[@id='personalInfo']//按钮[@class='btn btn primary btn block'][包含(text(),'Continue')]


第二页xpath:
//div[@id='AccountInfo']//按钮[@class='btn btn primary btn block'][contains(text(),'Continue')]

您可以使用它。它将始终单击按钮并显示文本“继续”

driver.findElements(By.tagName("button")).stream().filter(e -> e.getText().equals("Continue")).findFirst().get()
            .click();
选项#1-您只需查找带有文本的按钮-如果该按钮在您的页面上是唯一的,请继续

"//button[contains(text(),'Continue')]"
选项#2:只需像这样使用OR运算符组合ID

"//div[@id='preferences' or @id='accountInfo' or @id='personalInfo']//button[contains(text(),'Continue')]"

谢谢Suresh,没有信息不是id的一部分。下面是我使用chropath 1-//div[@id=“preferences”]//button[@class=“btn btn primary btn block”]找到的确切xpath,第二个是//div[@id=“accountInfo”]//button[@class=“btn btn primary btn block”],第三个是//div[@id=“personalInfo”//button[@class=“btn btn primary btn block”]这是假设匹配的第一个元素是可见的。。。情况可能并非如此。您可以用一个简单的XPath,
//按钮[.='Continue']
替换所有这些代码。完成同样的事情。