Arkadaşlar bir bot yapıyorum c#'ta selenium ile. Program bir sitede siralanan 3'lu sütun şeklindeki öğelere tikliyor ve bir popup açılıyor daha sonra bu popup'u kapatıp diğer öğeye tıklıyor. Bu tiklamalari xpath yolu ile yapıyorum. Örneğin;
xpathyolu/div[1]
xpathyolu/div[2]
...
Bu tiklamalarla birlikte sayfa aşağı doğru kayıyor. Ancak örneğin 20 tıklamadan sonra öğelerin xpath yolu değişiyor. Çünkü üstte kalan öğeler document'ten silinmiş oluyor. Böylece program mesela 21. divi arıyor ve bulamıyor normal olarak, çünkü 21. öğe, atıyorum 14. öğe oluyor (sayfa aşağı kaydığı için).
Bu sorunu nasıl cozebilirim? Çözümünü biliyorsanız lütfen yardımcı olun, şimdiden herkese teşekkürler..
C# Selenium'dan anlayanlar bakabilirmi? [Acil yardım lütfen]
3
●128
- 23-04-2020, 16:02:00eğer doğru anladıysam;
sabit bir değerde div değerleri değişiyorsa for ile döngüye alın. 0 dan 10 a kadar bir i değeri oluşturun ve div[i] olarak tıklama yaptırın. Sonra 30 adet ise eğer bir for döngüsü daha yazın 0 dan 3 e kadar olsun ve ilk yazdığınız for döngüsünü bu for döngüsünün içerisine alın. Yani ilk for 0 dayken 10 kere bu işlemi yapsın sonra ilk for 1 olunca tekrar bu işlemi yapsın 2 de tekrar toplam 3 kere 10lu bir şekilde işlem yapmış olursunuz. - 23-04-2020, 16:10:00findbyelements ile arayın ve kaç div olduğunu bulun
arkadaşın dediği gibi bir for döngüsü oluşturun
xpathyolu/div[i] yerine xpathyolu/div[0] verin kaybolduğu için sürekli alttaki div e tıklar