当前位置: 首页 > 知识库问答 >
问题:

无法点击切换与硒,因为ElementNotInteractableExcture

怀浩大
2023-03-14

我试图点击一个切换与Selenium网络驱动程序和Python,但得到以下异常:

 selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable
                           (Session info: chrome=86.0.4240.111)

我的HTML代码

<div _ngcontent-c7="" class="form-group">
  <label _ngcontent-c7="" for="opened">Opened</label>
 <div _ngcontent-c7="" class="toggle-switch">
    <input _ngcontent-c7="" id="opened" name="opened" type="checkbox" class="ng-untouched ng-pristine ng-valid">
  <label _ngcontent-c7="" for="opened"></label>
 </div>
 <span _ngcontent-c7="" class="form-control-helper">Toggle text description.</span>
</div>

我使用以下选择器,它是100%唯一的:

.toggle-switch>label[for=opened]

问题是什么?这是Angular模式对话框。我尝试了许多独特的定位器,包括XPATHCSS,我确信这不是定位器的问题。其他人也有类似的问题吗?

我的Python代码:

    toggle = driver.find_element_by_css_selector(".toggle-switch>label[for=opened]")
    toggle.click()

谢谢

共有2个答案

樊宏邈
2023-03-14

我现在使用的最佳防弹选项是:

toggle = driver.find_element_by_css_selector(".toggle-switch>label[for=opened]")
driver.execute_script("arguments[0].click();", toggle)

此外,有时我需要等待,直到覆盖我的切换的元素变得不可见:

 wait.until(EC.invisibility_of_element_located((By.CSS_SELECTOR, "my css selector")))
单于山
2023-03-14

你试图与标签互动。您需要输入元素:

 #remove the label from page
 driver.execute_script("document.querySelector(\"strong[for='opened']\").style.visibility = 'hidden';")

 toggle = driver.find_element_by_css_selector("#opened")
 toggle.click()
 类似资料:
  • 本文向大家介绍Vue点击切换颜色的方法,包括了Vue点击切换颜色的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上这篇Vue点击切换颜色的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • ReactNative 中的tabview点击tab无法切换view, "react": "18.2.0", "react-native": "0.72.6", "react-native-tab-view": "^3.5.1", 去除自定义tab改成原生的也不行

  • 我正在使用量角器在我的角度应用程序上运行E2E。我遇到了一个非常奇怪的问题。我正在使用Bootstrap Dropdown,它有一些选项。我需要单击其中一个选项。我参考了这个答案,它试图做类似的事情,但对我不起作用:量角器——如何选择大量嵌套的下拉元素? 我的结构看起来像: 在我的测试中,我尝试单击重命名链接。 我写的代码是: 在运行测试时,下拉切换按钮上有一个小的闪烁,似乎按钮被点击了。但是,应

  • 用我在selenium的初学者知识,我试图找到点击元素,打开链接。这些项目的链接没有href。我如何执行点击正确的元素打开链接。 我正在使用python、selenium、chrome web驱动程序、BeautifulSoup。所有库都已更新。 下面是示例html片段,其中有一个我需要使用selenium点击的标题。请让我知道,如果你需要更多的html源。此代码来自仅限“登录”的网站。

  • 我就是不能点击按钮进入下一页。目前为止我尝试了以下方法 编辑 关键是重新定位元素,重新加载。由于我在表单中单击,底层代码发生了变化。司机。通过xpath(//button[@type='submit'][@name='button'])查找元素。因此,click()无法找到元素。重新加载驱动程序后。get(“%s/%s:%s”%(str(sys.argv[4])、str(sys.argv[2])、

  • 问题内容: 我正在尝试通过Selenium进行网络抓取。我的问题很简单:如何找到链接,然后如何单击它?例如:以下是我要网页抓取的HTML: 因此,如您所见,“详细信息”是一个链接。 如何使用Selenium找到该链接并单击它? 问题答案: 您可以使用: 例如: 要单击它,只需调用click方法: