Selenium 无法使用 css、xpath、名称、id (python) 找到任何元素

Selenium can not find any element using css, xpath, name, id (python)

我想登录一个论坛,已经通过切换到其 iframe 绕过了 cookie 消息,但我无法访问页面上的任何内容。这是我的代码:

#set path, open firefox
path = r'C:\Users\Anwender\Downloads\geckodriver-v0.30.0-win64\geckodriver.exe'
driver = webdriver.Firefox(executable_path=path)

#open bym forum
driver.get('https://www.bym.de/forum/')
driver.maximize_window()

#deal with cookie
wait = WebDriverWait(driver,20)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"iframe[title='SP   Consent Message']")))
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,"button[title='Zustimmen']"))).click()
driver.implicitly_wait(30)

到目前为止,还不错。现在弹出大量广告。我尝试登录:

username = driver.find_element_by_id('navbar_username')
username.send_keys("name")
password = driver.find_element_by_id('navbar_password')
password.send_keys("pw")
driver.find_element_by_xpath("/html/body/div[1]/div[2]/main/div[3]/div[1]/ul/li[2]/form/fieldset/div/div/input[4]").click()

我已经使用 css 选择器或 xpath 尝试了不同的变体。没用。然后我尝试等待 20 秒直到所有内容都加载完毕。没用。我尝试访问不同的元素(到子论坛)。没用。 我试过了:

try:
    wait.until(
            EC.presence_of_element_located((By.ID, "navbar_username"))
                )
finally:
    driver.quit()

Selenium 就是找不到这个元素,浏览器刚刚关闭。我一直在寻找 iframe,但在 html 中找不到任何内容。有没有可能我什至不在主“window”上? “框架”? “地点”?我不知道怎么称呼它。

如有任何帮助,我们将不胜感激!

您切换到 iframe 并将其关闭,但您再也没有切换回来! Selenium 仍然在关闭和缺席的 iframe 上。使用以下命令切换回主页:

driver.switch_to.default_content()