提交元素不可点击的硒python
Posted
技术标签:
【中文标题】提交元素不可点击的硒python【英文标题】:submit element not clickable selenium python 【发布时间】:2018-02-04 23:09:02 【问题描述】:我试图打开 *** 并搜索查询,然后单击搜索按钮。 几乎一切都很好,只是我无法点击提交按钮
我遇到了错误
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://***.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()
【问题讨论】:
元素可能被css悬停效果或javascript移开。或者其他一些元素消耗点击事件。我只想尝试另一个 dom 元素来提交点击事件。例如#search input
。
我知道 css hover 或 dom 元素
那你应该研究一下。了解使用 Selenium 时浏览器工作原理的基础知识非常有用。
【参考方案1】:
<button type="submit" class="btn js-search-submit">
<svg role="icon" class="svg-icon iconSearch" viewBox="0 0 18 18">
<path d="..."></path>
</svg>
</button>
您正在尝试点击svg
。该图标不可点击,但按钮可点击。
因此,将按钮选择器更改为.btn.js-search-submit
即可。
【讨论】:
【参考方案2】:单击具有正确定位器的元素,您的按钮定位器是错误的。其他代码看起来不错
试试这个
browser=webdriver.Chrome()
browser.get("https://***.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()
【讨论】:
【参考方案3】:使用以下代码点击提交按钮:
browser.find_element_by_css_selector(".btn.js-search-submit").click()
【讨论】:
以上是关于提交元素不可点击的硒python的主要内容,如果未能解决你的问题,请参考以下文章
python中的硒:NoSuchElementException:消息:没有这样的元素:无法找到元素
为啥我的硒预期条件不能作为 python if 语句中的条件工作?
selenium.common.exceptions.ElementClickInterceptedException:消息:元素点击被拦截:元素不可点击 Selenium 和 Python