Python - 硒“NoSuchElementException:没有这样的元素:无法定位元素:”

时间:2021-02-02 16:50:17

标签: python selenium

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

我可以打开 youtube 并关闭登录弹出窗口,但是我似乎无法同意 google 弹出窗口的 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)\Google\Chrome\Application\chromedriver.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 的正确代码。

Picture of HTML code

对于任何可能的解决方案,我真的很感激,如果这与之前的问题太相似,我真的很抱歉,我真的很难过。

1 个答案:

答案 0 :(得分:0)

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

同意按钮位于 iframe 内,只需先切换到它,因为您使用的是隐式等待,因此您不必使用任何其他等待

现在,如果您想与 iframe 之外的任何元素进行交互,请使用:

driver.switch_to.default_content()

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

相关问题