Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void followLink(int index) {
- List<WebElement> elements = driver.findElements(By.cssSelector(linkText + " .r>a"));
- elements.get(index).click();
- }
- не такая уж и бесполезная вещь пробел в ".r>a", без него не хочет работать нормально))
- /*
- про бесполезную вещь)
- она была бесполезной в варианте - driver.findElement(By.cssSelector(" .r>a")).click();
- и будет бесполезной - в варианте
- List<WebElement> elements = driver.findElements(By.cssSelector(linkText));
- elements.get(index).findElement(".r>a").click();
- вот этот вариант - предпочтительнее
- можно еще короче
- driver.findElements(By.cssSelector(linkText)).get(index).findElement(".r>a").click();
- чем он отличается от твоего
- ты оперируешь списком из элементов .srg>.g .r>a
- если в одном результате будет не один .r>a - то хатка ломается
- или не в каждом результате будет .r>a - то тоже хатка ломается
- и да - в твоем случае - пробел - критически важная штука)
- если нам нужна главная линка такого-то результата - так и идем
- результатЫ - такой-то результат - его главная линка
- идем от внешнего к внутреннему
- так лучше - т к в долгосрочном периоде - так проще и так устойчивее
- не надо полагаться на некие предположения (по одной тинке в каждом результате)
- грабли на эту тему - если они и будут - будут реже проявляться
- и будешь рассуждать так же, как написан код)
- */
- *****************************
- String linkText = ".srg .g";
- /*
- как-то более по теме можно назвать
- типа resultsSelector or results
- */
Add Comment
Please, Sign In to add comment