Javascript ile yaparak xpath değil de direkt olarak elementi geri döndürebilirsiniz. Bu sayede xpath ile uğraşmadan direkt elementi almış olur istediğiniz şekilde kullanabilirsiniz.
Yani IWebElement element = driver.FindElement... yerine IWebElement element = JS'den gelen. şeklinde kullanabilirsiniz, aynı şey olur mantıken
JS kodu:
document.addEventListener('click', function(e) {
e = e || window.event;
var target = e.target || e.srcElement, text = target.textContent || target.innerText;
console.log(target);
}, false);Burada tarayıcının konsoluna yazdırdım siz orada return target derseniz geri döner. C# kısmında da ona göre ayarlamanız gerekir. Bunu C# 'ta tek seferlik alırsınız. Sonrasında sürekli almak istediğinizde kuracağınız algoritma size kalmış. Kolay gelsin.
Üstad koduna sanki şu if blogunu eklesek biraz daha iyi olur zira 2 leme oluyor
//EBS Click Logging...
document.addEventListener('click', function(e) {
e = e || window.event;
var target = e.target || e.srcElement,
text = target.textContent || target.innerText;
if (target != "") {
console.log(target);
}
}, false);