ElementNotInteractable Selenium Python

时间:2021-07-15 04:43:09

标签: html selenium selenium-webdriver

所以我去这个网站,屏幕看起来像这样: play btn 我使用 Ctrl+Shift+C 并选择播放按钮,这是我要点击的地方, 该元素如下所示:

<i class="material-icons flex" ng-show="!fullScreenOverlay.clicked &amp;&amp; !fullScreenOverlay.buffered &amp;&amp; !fullScreenOverlay.showTags &amp;&amp; recordingActivityLoaded" ng-click="playInit()" flex="" role="button" tabindex="0" aria-hidden="false" style="">play_circle_outline</i>

我复制它的 xpath 并使用 webdriver 执行此操作:

btn = wd.find_element_by_xpath('/html/body/div[8]/i[1]')
btn.click()

但我收到此错误:

ElementNotInteractableException: Message: element not interactable
  (Session info: headless chrome=91.0.4472.101)

我可以点击它,为什么网络驱动程序不能?

1 个答案:

答案 0 :(得分:1)

在这种情况下,元素很可能无法找到或无法点击。请检查您如何获取元素以及它是否可在浏览器中单击。对于这种情况,代码应该是

import sys
import time
sys.path.insert(0,'/usr/lib/chromium-browser/chromedriver')
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
wd = webdriver.Chrome('chromedriver',options=chrome_options)
wd.get("https://recordings.aakashdigital.com/attend/4m3e2r1i@t!MTA2NzE1M180MDY3MTIwMz9uYW1lPXNoaXZlbiBndXB0YQ")
time.sleep(4)
btn = wd.find_element_by_xpath('/html/body/div[8]/i[1]')   
btn.click()
wd.save_screenshot('sc.png')
wd.quit()