2017-11-20 22 views
0

Ich versuche, auf ein Element zu klicken, die auf meinem Wörterbuch Wert „name“ entspricht und „Farbe“, aber ich halte eine Rückverfolgung Fehler bekommen:Element ist nicht anklickbar

raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (520, 815) 

Kurz gesagt, ich Ich versuche, ein Auto-Checkout-Skript zu erstellen, das Parameter aus den unten aufgeführten Wörterbüchern (dh ITEM_INFO, SHIPPING_INFO und BILLING_INFO) aufnimmt und an den Selenium-Treiber sendet. Das Problem ist, dass der Browser den Produktnamen nicht finden kann, nachdem er zur Produktkategorie navigiert ist, da der Produktname nicht anklickbar ist. Ich habe versucht, dies zu mildern, indem ich eine explizite Wartezeit verwende, aber ich bekomme immer noch die gleiche Fehlermeldung.Ideal möchte ich in der Lage sein, Werte an ITEM_INFO zu übergeben und dann Selen in den Werten zu übergeben.

+0

Was ist der Traceback-Fehler? –

+0

@StevenByrne Ich habe es gerade in der Frage Beschreibung aktualisiert. Lass mich wissen was du denkst. – solo

+0

Ich kann Ihr Problem nicht replizieren. Ich habe eine Treiberinstanz erstellt, 'item_info' basierend auf dem von Ihnen beschriebenen Wörterbuch erstellt, sie an Ihre Funktion übergeben und' colorway.click() 'hat gut funktioniert. Bitte geben Sie zusätzliche Details an. – Reti43

Antwort

1

Der Grund ist, dass Sie versuchen, auf ein Element zu klicken, das nicht anklickbar ist. In diesem Fall wirft WebDriver eine Ausnahme:

WebDriverException: ... Element is not clickable at point (520, 815)

Sie müssen herausfinden, warum die Seite nicht dem Element angeklickt wird nicht gestattet. Es kann entweder auf (a) eine Geschäftslogik oder (b) ein Timing-Problem zurückzuführen sein. Für (a) ändern Sie Ihren Testfall, sodass das Element anklickbar wird. Für (b) Verwenden Sie eine explicit wait für das Element anklickbar werden

+0

Vielen Dank für Ihren Vorschlag, aber es stellte sich heraus, dass es ein Fehler in Chromedriver war. Alles funktionierte, sobald ich auf Geckodriver umgestiegen bin. – solo

Verwandte Themen