不能使用Selify点击按钮(Python)

本教程将介绍不能使用Selify点击按钮(Python)的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

不能使用Selify点击按钮(Python) 教程 第1张

问题描述

我尝试使用Selify单击一个按钮,但每次我都收到消息说它找不到该元素。即使我把时间放在前面,也会发生这种情况。

time.sleep(5)

 #Click on download
 downloadButton = driver.find_element_by_css_selector('#downloadButton')
 time.sleep(5)
 downloadButton.click()

 #Click on close
 closeButton = driver.find_element_by_xpath('//*[@id="btnZorgAnnuleren"]')
 closeButton.click()

按钮位于框架(不是iframe)中,但我不知道怎么切换到它。下面是框架源代码和页面源代码:https://www.codepile.net/pile/ZoG0REzQ。有谁能帮帮我吗?

推荐答案

如果是iFrame:

我建议您切换到这样的框架(带有明确的等待):

wait = WebDriverWait(driver, 10)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, "iframe ID")))

导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

切换后,您可以像这样点击:

wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#downloadButton"))).click()

并点击关闭:

 wait.until(EC.element_to_be_clickable((By.ID, "btnZorgAnnuleren"))).click()

完成后,您应该切换到默认内容,如下所示:

driver.switch_to.default_content()

好了关于不能使用Selify点击按钮(Python)的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。