当前位置: 首页 > 编程笔记 >

python+selenium 定位到元素,无法点击的解决方法

方心思
2023-03-14
本文向大家介绍python+selenium 定位到元素,无法点击的解决方法,包括了python+selenium 定位到元素,无法点击的解决方法的使用技巧和注意事项,需要的朋友参考一下

报错

selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22). Other element would receive the click: <img class="logo" src="/public/desktop/common/img/game_logo.png">

需要点击的按钮页面显示不了,需要下拉滚动条,能看到按钮了才能点

1、尝试下拉一段滚动条,让按钮能看到

js = "window.scrollTo(100,450)"
driver.execute_script(js)

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()

OK,能点到了

2、不是下拉加载的页面,用方法一有点傻,尝试让滚动条定位到指定元素位置

the_loginBtn = driver.find_element_by_css_selector("div.loginForm>input#loginBtn")
ActionChains(driver).move_to_element(the_loginBtn).perform() 

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").click()

ok,滚动到元素位置了。但是这个按钮在页面顶格显示,这个页面有导航栏,要点击的按钮被固定的导航栏挡住了。还是报错。

3、元素被覆盖,无法点击

用Enter代替click

driver.find_element_by_css_selector("div.loginForm>input#loginBtn").send_keys(Keys.ENTER)

要导入from selenium.webdriver.common.keys import Keys,不然用不了

发现用Enter代替click后,如果不是下拉加载的页面的话,不用下拉滚动条就能用enter点到

以上这篇python+selenium 定位到元素,无法点击的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我正在尝试搜寻房地产网站上的商品。它有一个aspx表单,必须在提交之前填写。 http://www.cbre.us/PropertyListings/Pages/Properties-for- Sale.aspx 我只关心俄勒冈州的多户家庭财产。所以这是我的第一次尝试: 当我运行此脚本时,出现错误“找不到元素“ ForSalePropertyType”。在这里我在做什么错? 问题答案:

  • 我正试着点击结账按钮。这就是它的样子: 和超文本标记语言片段: 所有内容都加载到一个iFrame中,所以我也在切换iFrame。 但是按钮有奇怪的html。 代码试用我做了: 我在等待此元素出现时遇到超时异常。 等待位于的元素出现35秒后超时:by。CSS选择器:按钮[数据cid='button.购买按钮']span

  • 顺便说一句,我使用的是Python 3.8、Chrome 81.0.4044.122和Selenium的最新版本。 到目前为止,我使用:

  • 顺便说一句,我使用Python 3.8、Chrome 81.0.4044.122和最新版本的Selenium。 到目前为止,我使用:单击button,然后找到一个具有图像而不是文本的登录按钮。我尝试了XPath、CSS选择器、id、名称、文本链接、ActionChains(move_to)什么都不起作用。 下面是HTML:请点击我。 如何找到图像按钮的正确XPath并单击它? driver.fin

  • 我想在selenium中找到我的文本字段,但我不知道如何找到(我第一次使用sellenium)。 我试过: 或者通过xPath和cssSseltor String在dev工具中由chrome生成。 请帮助我,我将感谢解释。 这是html:

  • 本文向大家介绍selenium处理元素定位点击无效问题,包括了selenium处理元素定位点击无效问题的使用技巧和注意事项,需要的朋友参考一下 在WEB自动化测试过程中,经常会遇到这样的问题: 元素定位到了,但是点击无效?有人可能会问了,怎么判断元素定位到了,这个问题很好判断 1.给元素加高亮显示 arguments[0] 这个参数,可以理解为python中的字符串格式化。比如"{}{}".for