-1

Fokus Ich versuche, auf ein Element zu klicken und Schlüssel zu senden, aber ich kann nicht auf Element Fehler konzentrieren. Ich habe versucht, Aktionsketten zu verwenden, hat aber nicht funktioniert.Element kann nicht mit Selen

Ich bin in der Lage, das Element zu klicken, aber wenn ich Schlüssel senden wirft sie „auf Element Fehler nicht konzentrieren können“

D = C.find_element_by_xpath('//*[@id="pcsTableId"]/tbody/tr[9]/td[4]') 
>>> D.click() 
>>> D.send_keys("4556741") 
WebDriverException: Message: unknown error: cannot focus element 
(Session info: chrome=59.0.3071.115) 

inspect element page

+0

Könnten Sie schreiben den HTML oder einen Link auf die Website? Das würde helfen zu bestimmen, was das Problem ist. – Brydenr

+0

Diese Seite hat eingeschränkten Zugriff, Buchungselemente auf der Seite im Detail @Brydenr – user3443200

+0

Welche Art von Element möchten Sie auswählen? Es ist ein Knopf, damit Sie klicken oder ein Feld, wo Sie einen Schlüssel senden können? sieht seltsam aus, dass Sie klicken und einen Schlüssel an das gleiche Element senden möchten –

Antwort

0

Verwendung JavaScript Testamentsvollstrecker das Element in die Ansicht scrollen und klicken Sie dann auf ausführen Auf dem Element kann der Chrome-Treiber nicht auf das Element klicken, wenn dieses Element nicht auf dem sichtbaren Bildschirm angezeigt wird. d. h., Sie müssen das Element nach oben oder unten scrollen, damit auf dem Bildschirm der Klick darauf angezeigt wird.

Bitte lassen Sie mich wissen, wenn das mit Ihnen funktioniert.

0

Dies ist ein ähnliches Problem, das ich in lief, obwohl meine Lösung in Java ist, sollten Sie in der Lage sein, den Kern von ihm zu bekommen und übersetzt es

private void scrollToElement(WebElement element){ 
    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element); 
} 

Mein Original-Beitrag in Python finden Sie hier: WebElement getText() is an empty string in Firefox if element is not physically visible on the screen

Hoffentlich hilft es Ihnen

0

Versuch aus Ihrem Klick zu ersetzen mit send_keys(Keys.ENTER) stellen Sie sicher, Keys zu importieren: from selenium.webdriver.common.keys import Keys. Diese Lösung funktionierte für mich auf einem neuen Skript mit Chromedriver.

0

Probieren Sie die Actions-Klasse aus, um sich zuerst auf das Element zu konzentrieren und dann die erforderlichen Schlüssel zu senden.

Actions actions = new Actions(driver); 
actions.moveToElement(element); 
actions.click(); 
actions.sendKeys("SOME DATA"); 
actions.build().perform(); 

getting cannot focus element in chrome and edge using java/selenium

Verwandte Themen