Dlaczego tak
Identyfikator elementu jest unikalny na stronie i nie zależy od jego położenia, więc lokator By.id przestanie działać tylko wtedy, gdy ktoś zmieni samo id. Bezwzględna ścieżka XPath i selektor z nth-child zależą od struktury dokumentu i przestają działać po dodaniu jednego elementu przed przyciskiem. By.linkText wyszukuje wyłącznie odnośniki a, więc nie znajdzie elementu button.