Witam pisząc posta znalazłem rozwiązanie ;) więc się może nim podzielę ^^ Problematyka była taka iż szukając elementu po ID linka i klikając w niego nie zawsze działało. Inaczej nie na wszystkich linkach.
- Metoda po samym ID
IWebElement element = myBrowser.FindElement(By.ID(_anchor));
element.Click();
- Metoda po Xpatchu z ID
string _XPatch = "//*[@id='"+_anchor+"']"
IWebElement element = myBrowser.FindElement(By.XPath(_Xpatch));
element.Click();
Czasem wywołanie komendy na niektórych stronach oraz na linkach równało się z tą samą sytuacją co wywołanie kotwicy z url.
Rozwiązanie działające lecz nie w 100% oczekiwane. Szukamy element DIV po id albo xPachu odnajdowanie elementu w tym przypadku nie ma to znaczenia.
Następnie wyszukujemy element po LinkText z wartością naszego diva po ID. Nom i klikniecie już działa w przypadkach co nie działało, ale teraz pojawił się problem co jak będzie więcej takich samym LinkText ? oraz jak obsłużyć banery i flashe ? hmmm z deszczu pod rynnę
string _XPatch = "//*[@id='"+_anchor+"']"
IWebElement element = myBrowser.FindElement(By.XPath(_XPatch)); // pobieramy po xpachy czy po id niewazne
IWebElement elementClick = myBrowser.FindElement(By.LinkText(element.Text)) // szukamy elementu po linkText jaki posiada div o danym id
elementClick.Click(); // klikniecie w element
Rozwiązanie jest banalnie proste i odkryłem je przez przypadek, a z tego co widziałem więcej osób miało taki sam problem. I nigdzie nie było poprawnego rozwiązania lub ja źle szukałem ;)
I działa odwołujemy się do elementu <a w danym divie ;) i klika. Dla czego tak nie wiem i nie mam pojęcia jednak dla głównych stron na których ja pracuje działa
// Nie wiem co się tutaj dzieje że kod się wysypuje jako link gdy daje go w xsharpcode
string _XPatch = "**[@id='"+_anchor+"']*a"
IWebElement element = myBrowser.FindElement(By.XPath(_Xpatch));
element.Click();
Do starego _XPatch dodałem tylko //a ;) Mam nadzieje, że komuś się to przyda jak będzie jeść zęby tak jak ja i gonił go czas.