Tıklama sorunları

"Öğe tıklanabilir değil" hatası

ChromeDriver tıklaması, öğenin ilk istemci dikdörtgeninin (veya birinci istemci düzlemi yoksa sınırlayıcı istemcinin) ortasında bir fare tıklamasını simüle ederek çalışır. ChromeDriver'ın nereye tıklamaya çalıştığını öğrenmenin en kolay yolu, Chrome geliştirici araçlarını açmak ve tıklama işleminiz çağrılmadan hemen önce tıklanacak öğeyi incelemektir. Öğeyi denetleyicide seçin ve aşağıda gösterildiği gibi, öğenin istemci rektörlerini temsil eden mavi kutulara dikkat edin. ChromeDriver, ilkinin ortasını tıklamaya çalışır.

ChromeDriver "Öğe tıklanabilir değil" hatası veriyorsa, bunun nedeni büyük olasılıkla söz konusu konumun kullanıcı tarafından tıklanamıyor olmasıdır. Test etmek için imlecinizi ilk istemcinin ortasına yerleştirin ve bu konumun tıklanabilir olup olmadığına bakın.

Yukarıdaki örnekte, test sabit öğeyi tıklamaya çalışmıştır. Bu durumda bağlantı tıklanamaz. Yalnızca alt resim tıklanabilir. Resim öğesinde bir margin-bottom stili nedeniyle, bağlantı öğesinin ortası tıklanabilir resim sınırlarının dışına çıkar ve bu nedenle ChromeDriver hata verir. Konumlandırmanın/boyutlandırmanın nasıl belirlendiği hakkında daha fazla bilgi için w3 spesifikasyonuna bakın. Yukarıdaki durumu düzeltmek için çapa yerine resmi tıklayın.

"Öğe tıklanabilir değil" hatası, genellikle bir test denendiğinde ortaya çıkar:

  • Tıklanabilir alt öğeleri bağlantı sınırları içinde olmayan (yukarıda olduğu gibi) bir bağlantıyı tıklama
  • bir öğeyi tamamen veya kısmen başka bir öğenin altında tıklayın
  • sabit bir yer paylaşımı varken bir öğeyi ekran dışında tıklama (öğe görünümün içine kaydırılır, ancak sabit yer paylaşımının altında kaydırılabilir)
  • ortada tıklanabilir olmayan bir öğeyi (ör. bazı dışbüs SVG öğeleri) tıkladığında

Bu sorunlar genellikle söz konusu öğenin alt öğesi tıklanarak, engelleme öğesini programlı bir şekilde kaldırarak veya gizleyerek, öğenin sol üst kısmından belirli bir mesafede tıklamak için gelişmiş etkileşimler API'sinin kullanılması ya da JavaScript'te bir fare tıklama etkinliği simülasyonu yapılarak çözülebilir.

"Öğe tıklanabilir değil" hatası

Bu durum büyük olasılıkla ChromeDriver öğenin konumunu belirledikten bir süre sonra, ChromeDriver öğenin konumunu belirlemeden bir süre önce öğenin konumunun değişmesinden kaynaklanır.

Sorununuzun bu olup olmadığını belirlemek için tıklamadaki istisnayı yakalayın ve hemen öğenin geçerli konumu ile boyutunu günlüğe kaydedin. Bunu, ChromeDriver'ın istisna olarak tıklamaya çalıştığı konumla karşılaştırın ve farklı olup olmadıklarını görün. Bu durumda, öğenin hareketinin durmasını beklemeniz veya tekrar tıklamayı denemeniz gerekir. Aksi takdirde, sorununuzu yeniden oluşturmak için kullanılabilecek küçük bir test sayfasıyla hata bildiriminde bulunun (sorun, yalnızca zaman zaman sorunu tetiklese bile).

ChromeDriver hareketli bir öğeyi tıklayamıyor

Bu, ChromeDriver'ın desteklenen bir özelliği değildir. Öğe sonunda durursa bunun gerçekleşmesini bekleyin. Öğenin hareketi hiç durmazsa ChromeDriver, tıklamanın başarılı olacağını garanti etmez.