2017-08-27 4 views
0

Ich habe versucht, Stackoverflow zu öffnen und nach einer Abfrage suchen und dann auf die Suchschaltfläche klicken. fast alles ging gut, außer ich nicht in der Lage war einreichenSubmit-Element nicht anklickbar Selen Python

Ich traf Schaltfläche Fehler klicken

WebDriverException: unknown error: Element ... is not clickable at point (608, 31). Other element would receive the click: (Session info: chrome=60.0.3112.101) (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86)

browser=webdriver.Chrome() 
    browser.get("https://stackoverflow.com/questions/19035186/how-to-select-element-with-selenium-python-xpath") 
    z=browser.find_element_by_css_selector(".f-input.js-search-field")#use .for class and replace space with . 
    z.send_keys("geckodriver not working") 
    submi=browser.find_element_by_css_selector(".svg-icon.iconSearch") 
    submi.click() 
+0

Das Element wahrscheinlich weg von einem CSS-Hover-Effekt oder Javascript bewegt. Oder ein anderes Element verbraucht das Klickereignis. Ich würde einfach ein anderes dom-Element versuchen, um das Click-Ereignis zu übermitteln. '#sucheingabe' zum Beispiel. –

+0

ich bin anaware von css hover oder dom element –

+1

Sie sollten das dann erforschen. Es ist sehr nützlich zu wissen, wie ein Browser funktioniert, wenn Sie Selenium verwenden. –

Antwort

1
<button type="submit" class="btn js-search-submit"> 
    <svg role="icon" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"> 
     <path d="..."></path> 
    </svg> 
</button> 

Sie versuchen, auf der svg zu klicken. Dieses Symbol ist nicht anklickbar, aber die Schaltfläche ist.

So ändern Sie den Knopf Wähler auf .btn.js-search-submit wird funktionieren.

1

Klicken Sie auf das Element mit der rechten Locator, Ihre Taste Locator ist falsch. Andere Code sieht gut aus

versuchen, diese

browser=webdriver.Chrome() 
browser.get("https://stackoverflow.com/questions/19035186/how-to-select-element-with-selenium-python-xpath") 
z=browser.find_element_by_css_selector(".f-input.js-search-field")#use .for class and replace space with . 
z.send_keys("geckodriver not working") 
submi=browser.find_element_by_css_selector(".btn.js-search-submit") 
submi.click() 
+0

ya ich habe it.thanks –

-1

Verwenden Sie den folgenden Code zu klicken Sie auf Absenden-Button:

browser.find_element_by_css_selector(".btn.js-search-submit").click()