首页 > 解决方案 > selenium.common.exceptions.NoSuchFrameException: 和文本输入

问题描述

我正在尝试在位于以下的“CC”字段中输入文本输入:

https://ggbs.tarim.gov.tr/cis/servlet/StartCISPage?PAGEURL=/FSIS/ggbs.takviyeGidaSorgu.html&POPUPTITLE=AnaMenu

使用python和硒。它似乎被包裹在一两个框架中,我无法使用硒定位元素。代码如下。我究竟做错了什么?

time.sleep(15)
driver.switch_to.frame('SCPIFRAMEMozilla') #('SCPFRAMEBUFFER')
captcha=driver.find_element_by_name('CC')```

标签: pythonseleniumweb-scraping

解决方案


您可以尝试使用以下代码:我已包括explicit Wait

driver.maximize_window()
wait = WebDriverWait(driver, 10)
driver.get("https://ggbs.tarim.gov.tr/cis/servlet/StartCISPage?PAGEURL=/FSIS/ggbs.takviyeGidaSorgu.html&POPUPTITLE=AnaMenu")
wait.until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR, "iframe.SCPIFRAMEMozilla")))
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.FIELDInputEdit"))).send_keys("Some value")

进口:

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

推荐阅读