所以我去这个网站,屏幕看起来像这样:
我使用 Ctrl+Shift+C
并选择播放按钮,这是我要点击的地方,
该元素如下所示:
<i class="material-icons flex" ng-show="!fullScreenOverlay.clicked && !fullScreenOverlay.buffered && !fullScreenOverlay.showTags && 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)
我可以点击它,为什么网络驱动程序不能?
答案 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()