蟒蛇 - Selenium "NoSuchElementException: no such element: Unable to locate element:"



我知道有类似的问题,但是其他人的答案似乎并没有解决我的问题。

我能够打开youtube并解散登录弹出窗口,但是我似乎不能同意谷歌弹出窗口的cookie。我之所以发布一个类似的问题,是因为常见的"driver.implicitly_wait(10)"。解决方案似乎只适用于登录弹出窗口。

这表明出于某种原因,该按钮的xpath仅适用于youtube弹出窗口,而不适用于google弹出窗口。

我代码:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver=webdriver.Chrome(executable_path="C:Program Files (x86)GoogleChromeApplicationchromedriver.exe")
driver.implicitly_wait(10)
driver.get("https://www.youtube.com/watch?v=nYh-n7EOtMA")
driver.find_element_by_xpath("//*[@id='dismiss-button']").click()
driver.implicitly_wait(10)
driver.find_element_by_xpath("//*[@id='introAgreeButton']").click()

我也相信这也是复制按钮xpath的正确代码。

HTML代码图片

我将非常感谢任何可能的解决方案,如果这与之前的问题太相似,我真的很抱歉,我只是真的被难住了。

driver.switch_to.frame("iframe")
driver.find_element_by_xpath("//*[@id='introAgreeButton']").click()

同意按钮在iframe内,只需先切换到它,因为你正在使用隐式等待,你不必使用任何其他等待

现在,如果你想与iframe外的任何元素交互,使用:

driver.switch_to.default_content()

在尝试查找或与该元素交互之前

相关内容

最新更新