python - selenium.common.exceptions.NoSuchFrameException: 和文本输入
问题描述
我正在尝试在位于以下的“CC”字段中输入文本输入:
使用python和硒。它似乎被包裹在一两个框架中,我无法使用硒定位元素。代码如下。我究竟做错了什么?
time.sleep(15)
driver.switch_to.frame('SCPIFRAMEMozilla') #('SCPFRAMEBUFFER')
captcha=driver.find_element_by_name('CC')```
解决方案
您可以尝试使用以下代码:我已包括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
推荐阅读
- docker - 如何保存 Github Actions docker 镜像的构建结果
- json - 访问json返回未定义的反应js
- powershell - Powrshell:只能加载最新模块中的类
- .htaccess - 302重定向(将旧域所有页面重定向到新域主页)
- c++ - CLion:找不到与请求版本“”兼容的包“Qt6”的配置文件
- vue.js - Vue 3 - 使特定的类属性具有反应性
- react-native - 错误:不变违规:TurboModuleRegistry.getEnforcing(...): 'NativeReanimated' 找不到
- error-handling - Rust Snafu 缺少“源”字段
- scala - Scala 3 (Dotty) 中命名给定/使用对象的语法
- reactjs - Typescript 接口扩展了 React.FC