Я пытался открыть stackoverflow и найти запрос, а затем нажать кнопку поиска. почти все прошло нормально, за исключением того, что я не смог нажать кнопку отправки

Я столкнулся с ошибкой

WebDriverException: неизвестная ошибка: Элемент ... не активен в точке (608, 31). Другой элемент получит щелчок: (Информация сеанса: chrome = 60.0.3112.101) (Информация о драйвере: chromedriver = 2.29.461591 (62ebf098771772160f391d75e589dc567915b233), платформа = 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
Nimish Bansal 27 Авг 2017 в 17:39

3 ответа

Лучший ответ
<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.

2
xmcp 27 Авг 2017 в 15:04

Нажмите на элемент с правильным локатором, ваш локатор кнопок неправильный. Другой код выглядит хорошо

Попробуй это

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()
1
iamsankalp89 27 Авг 2017 в 17:18

Используйте код ниже, чтобы нажать на кнопку «Отправить»:

browser.find_element_by_css_selector(".btn.js-search-submit").click()
1
Eugen Konkov 17 Янв 2018 в 13:33