2017-08-27 103 views
0

我試圖打開stackoverflow和搜索查詢,然後單擊搜索按鈕。 幾乎一切正常,除了我無法點擊提交按鈕提交元素不可點擊硒python

我遇到錯誤

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

元素,也許是搬走了由CSS懸停效果或JavaScript。或者其他一些元素使用click事件。我只是嘗試另一個DOM元素來提交點擊事件。 '#search input',例如。 –

+0

我是css懸停或dom元素的anaware –

+1

那麼你應該研究那個。瞭解瀏覽器在使用Selenium時的工作原理非常有用。 –

回答

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> 

您正在嘗試點擊svg。該圖標不可點擊,但按鈕是。

所以改變按鈕選擇器.btn.js-search-submit將工作。

1

單擊右定位器的元素,你的按鈕定位器是錯誤的。其他的代碼看起來不錯

試試下面這段代碼

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

雅我明白了。謝謝 –

-1

使用點擊提交按鈕:

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