julia_v_iluhina

Untitled

Jul 24th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.21 KB | None | 0 0
  1.     public void followLink(int index) {
  2.         List<WebElement> elements = driver.findElements(By.cssSelector(linkText + " .r>a"));
  3.         elements.get(index).click();
  4.     }
  5. не такая уж и бесполезная вещь пробел в ".r>a", без него не хочет работать нормально))
  6.  
  7. /*
  8.     про бесполезную вещь)
  9.     она была бесполезной в варианте - driver.findElement(By.cssSelector(" .r>a")).click();
  10.    
  11.     и будет бесполезной - в варианте
  12.         List<WebElement> elements = driver.findElements(By.cssSelector(linkText));
  13.         elements.get(index).findElement(".r>a").click();
  14.     вот этот вариант - предпочтительнее
  15.     можно еще короче
  16.         driver.findElements(By.cssSelector(linkText)).get(index).findElement(".r>a").click();
  17.    
  18.     чем он отличается от твоего
  19.     ты оперируешь списком из элементов .srg>.g .r>a
  20.     если в одном результате будет не один .r>a - то хатка ломается
  21.     или не в каждом результате будет .r>a - то тоже хатка ломается
  22.     и да - в твоем случае - пробел - критически важная штука)
  23.  
  24.     если нам нужна главная линка такого-то результата - так и идем
  25.     результатЫ - такой-то результат - его главная линка
  26.     идем от внешнего к внутреннему
  27.     так лучше - т к в долгосрочном периоде - так проще и так устойчивее
  28.     не надо полагаться на некие предположения (по одной тинке в каждом результате)
  29.     грабли на эту тему - если они и будут - будут реже проявляться
  30.     и будешь рассуждать так же, как написан код)
  31.  
  32. */
  33. *****************************
  34.  
  35.  String linkText = ".srg .g";
  36. /*
  37.     как-то более по теме можно назвать
  38.     типа resultsSelector or results
  39. */
Add Comment
Please, Sign In to add comment