0

I am trying to write an automation step which clicks on a link, the locator which I need to use to target the link is matching to the end of the title attribute, the reason being there may be multiple links of the same type, some of which will be named the same, this section of the title I am looking at is the only bit within these links guaranteed to be unique (not my call, this is an existing system in place I am writing tests for). I have no issue finding the locator of the link using this method.

Note: some elements of the code have been amended due to data security restrictions of my employer.

@FindBy(css = "#id .Content form > a[title$='12345678']")
WebElement linkName;

However the reference number at the end of the title that I'm looking for may change, depending on other data inputs, and it will be used in multiple places thorughout my automation suite, so what I am trying to do is store that number as a String at the very start of the suite and have the locator, and any other areas which need it, reference it, which is where my trouble begins. I seem to be unable to get the locator to work referencing the string.. When I try this I keep getting errors, usually syntax errors.

@FindBy(css = "#id .Content form > a[title$='%s']", titleVariable)
WebElement linkName;

I have tried rearranging this multiple times but can't seem to get it into a working format. Any suggestions would be welcome.

I apologise if this seems unclear, As stated above due to the nature of my employers business I can't give too many specifics due to data security restrictions so have had to explain things in a more round about way than I could have.

2 Answers 2

1

first of all, u must have to use constant variable here. so use code like below:

final String titleVariable = "ur title";

@FindBy(css = "#id .Content form > a[title$='"+titleVariable+"']")
WebElement linkName;
Sign up to request clarification or add additional context in comments.

Comments

0

If you have WebDriver object in this class you can do this:

String titleVariable = "Your Title";
String cssSelector = "#id .Content form > a[title$='" + titleVariable + "']";

WebElement linkName = driver.findElement(By.cssSelector(cssSelector));

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.