Java Selenium:如何通过LinkText查找按钮的xpath?
一个页面中基本上有3种类型的保存按钮。现在,我尝试单击的按钮是一个Java Selenium:如何通过LinkText查找按钮的xpath?,java,selenium,xpath,selenium-webdriver,automation,Java,Selenium,Xpath,Selenium Webdriver,Automation,一个页面中基本上有3种类型的保存按钮。现在,我尝试单击的按钮是一个type=“button”,其余的保存类型没有定义为type=“button”。对于所有三个保存按钮LinkText都定义为保存。那么,有没有办法通过linkText点击type=“button” HTML: 保存 我试过的代码: List<WebElement> list = Util.getWebDriver().findElements(By.xpath("//*[text()='Save']")); Syst
type=“button”
,其余的保存类型没有定义为type=“button”
。对于所有三个保存按钮LinkText
都定义为保存。那么,有没有办法通过linkText
点击type=“button”
HTML:
保存
我试过的代码:
List<WebElement> list = Util.getWebDriver().findElements(By.xpath("//*[text()='Save']"));
System.out.println("SaveButton"+list.size()); ///Returning 3 save button in a page
list.get(3).click();
List List=Util.getWebDriver().findElements(By.xpath(“/*[text()='Save']”);
System.out.println(“SaveButton”+list.size())///返回页面中的3个保存按钮
list.get(3).单击();
现在,假设在一个页面中有4个保存按钮,在另一个页面中有3个保存按钮。因此,不可能创建一个方法,因为每个时间索引都会不同
如果有任何方法可以通过type=“button”
查找xpath
。对我来说,创建一个方法并在每次单击“Save”
时调用它将很容易
如果需要澄清,请告诉我
有没有办法通过linkText单击type=“button”
实际上是用来定位
我尝试单击的按钮是一个type=“button”
,其余类型的保存未定义为type=“button”
正如您所说,只有desire按钮包含属性type=“button”
,因此使用其他定位器很容易找到该元素,如下所示:-
- :
按钮[type='button']
按钮[type='button'][ng click='updateUser()']
button.btn.btn-md.bgm-blue.waves效果[type='button'][ng click='updateUser()']
- :
//按钮[text()='Save'和@type='button']
//按钮[.='Save'和@type='button']
//按钮[text()='Save'和@type='button'以及@ng click='updateUser()']
//按钮[.='Save'和@type='button'以及@ng click='updateUser()']
由于保存
按钮包含类
属性,您可以按如下方式构造xpath
:
findElements(By.xpath("//button[@class='btn btn-md bgm-blue m-r-10 waves-effect'][contains(text(),'Save')]"));
完美的解释。如果我使用该方法并在任何地方使用它,那么下面的xpath代码都会起作用-//button[.='Save'和@type='button']
我认为selenium不支持复合类名。
findElements(By.xpath("//button[@class='btn btn-md bgm-blue m-r-10 waves-effect'][contains(text(),'Save')]"));