当前位置: 首页 > 面试题库 >

selenium.common.exceptions.ElementNotVisibleException:消息:元素无法使用Selenium进行交互

席兴平
2023-03-14
问题内容

我正在寻找一个有趣的程序,但是我在硒方面有一些问题,
我需要一些帮助……这是程序(我删除了
webdriver目录,因为文件夹名称包含其他人的名称)

from selenium import webdriver
import webbrowser
import time


def Pass_send_():
    driver=webdriver.Chrome()
    driver.get('chrome://flags/#password_export-enable')


    ricerca=driver.find_element_by_id("search")
    ricerca.send_keys('password export')
    scorritore=driver.find_element_by_class_name('experiment-select')
    scorritore.click()



Pass_send_()

因此,目的很简单,应该打开一个窗口,键入文本,然后单击
一个按钮。一切正常,但单击不起作用,这是错误:

Traceback (most recent call last):
      File "C:\Python34\internet22.py", line 18, in <module>
Pass_send_()
  File "C:\Python34\internet22.py", line 14, in Pass_send_
scorritore.click()
  File "C:\Python34\lib\site- 
   packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\webelement.py", line 633, in _execute
    return self._parent.execute(command, params)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Python34\lib\site- 
packages\selenium\webdriver\remote\errorhandler.py", line 242, in 
check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable

因此,我不是专家,但它说:元素不是相互联系的吗?这是什么意思
,我该如何解决?我真的很感谢您的回复…


问题答案:

要将字符序列发送到网页中的搜索框,
chrome://flags/#password_export-enable您需要诱导WebDriverWait,
并且可以使用以下解决方案:

  • Code Block:
        from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC

    options = Options()
    options.add_argument('start-maximized')
    options.add_argument('disable-infobars')
    options.add_argument('--disable-extensions')
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
    driver.get('chrome://flags/#password_export-enable')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#search"))).send_keys("password export")


 类似资料:
  • 问题内容: 我正在尝试在以下网站中输入用户名和密码:https : //www.thegreatcoursesplus.com/sign- in 这给出了以下异常: 然后我尝试使用Java脚本: 没有错误,但没有文本发送到“电子邮件地址”字段。 有人可以指导我以正确的方式输入电子邮件地址,密码,然后单击“登录”。 感谢您的协助 问题答案: 此错误消息… …表示所需的 元素 在 WebDriver

  • 我需要在IE11上测试一个网站,所以我用IEDRiver做了一个selenium测试项目。我也使用Maven。在local中一切都很好,我现在不得不使用Jenkins来启动我的测试。 我创建了一个简单的工作来尝试我的一个测试。Jenkins找到我的pom.xml,用IEDriver打开浏览器,导航到我的url,然后问题就开始了。 我的测试在本地运行时所做的工作: 点击element2进入下一页;

  • 我试图登录到beeradvocate.com抓取(抓取)一些啤酒数据。我试过硒,但失败了。 这是html 我尝试使用名称、值和类,但一切都失败了。我最后一次尝试Xpath,但也失败了。 网站和检查 我的代码: 我已经使按钮工作: 然而,我需要能够执行发送_键来输入id和pw来登录。。。有人知道吗?

  • 我是Selenium WebDriver的新手,使用NetBeans java和Firebug for Firefox获取XPath。问题是,即使某些元素在浏览器中是可见的和可点击的,并且firebug找到了xpath,我仍然得到一个错误“无法定位元素”。问题是,元素不在框架中(没有框架),不在另一个窗口中,它是可见的,可点击的,并且它有清晰的XPath。我用了Wait和thread.sleep,

  • 问题内容: 我正在尝试使用selenium在kahoot.it网页上自动生成大量用户,以使它们出现在类的前面,但是,当我尝试访问inputSession项时(在其中写入gameID进入游戏) 这是错误: 任何帮助将非常感激!:) 问题答案: 可能是竞标条件,在该竞标条件下find元素在页面上出现之前就已执行。看一下等待超时文档。这是文档中的示例

  • 我还在学习硒,但下面是我尝试过的: 我得到了这些错误: 而且