我正在尝试编写一个点击链接的自动化步骤,我需要用来定位链接的定位器与title属性的末尾匹配,原因是可能有多个相同类型的链接其中一些将被命名为相同,我正在看的标题的这一部分是这些链接中的唯一一点保证是唯一的(不是我的电话,这是我正在编写测试的现有系统)。我没有问题使用这种方法找到链接的定位器。
注意:由于我的雇主的数据安全限制,代码的某些元素已经修改。
@FindBy(css = "#id .Content form > a[title$='12345678']")
WebElement linkName;
然而,我正在寻找的标题末尾的参考编号可能会改变,这取决于其他数据输入,并且它将在我的自动化套件中用于多个地方,所以我想要做的是存储这个数字作为一个字符串在套件的最开始,并有定位器,以及任何其他需要它的区域,引用它,这是我的麻烦开始的地方。我似乎无法让定位器工作引用字符串..当我尝试这个时,我不断收到错误,通常是语法错误。
@FindBy(css = "#id .Content form > a[title$='%s']", titleVariable)
WebElement linkName;
我尝试过多次重新排列,但似乎无法将其变为工作格式。任何建议都会受到欢迎。
如果这似乎不清楚,我道歉。如上所述,由于我的雇主业务的性质,由于数据安全限制我不能给出太多细节,因此必须以比我可能更多的方式解释事情。
答案 0 :(得分:1)
首先,你必须在这里使用常量变量。所以使用如下代码:
final String titleVariable = "ur title";
@FindBy(css = "#id .Content form > a[title$='"+titleVariable+"']")
WebElement linkName;
答案 1 :(得分:0)
如果您在此课程中有WebDriver对象,则可以执行以下操作:
String titleVariable = "Your Title";
String cssSelector = "#id .Content form > a[title$='" + titleVariable + "']";
WebElement linkName = driver.findElement(By.cssSelector(cssSelector));