javascript - Python Selenium 元素并非难处理
问题描述
Selenium WebDriver throws Exception in thread “main”
org.openqa.selenium.ElementNotInteractableException 1 answer
How to resolve ElementNotInteractableException: Element is not visible
in Selenium webdriver? 3 answers
我尝试了这两个,并没有从中得到任何东西。
这个元素是输入元素,我需要向它发送特定的变量。
这是元素:
<input name="ds_nm" id="ds_nm" type="text" size="11" maxlength="40"
value="ENTER NAME" title="ENTER NAME" class="grayInput"
onfocus="text_clear()" onblur="text_hint()"
onkeypress="if(event.keyCode == 13){SearchSano();}">
这是我到目前为止写的:
import time
import requests
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome('./chromedriver')
from selenium.webdriver.remote.webelement import WebElement
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome('./chromedriver')
url="ICAN'T SHARE PERSONAL INFO, SORRY"
ConsumerName="MR.Anderson"
driver.get(url)
time.sleep(5)
CN_Insert = driver.find_element_by_css_selector('form#ds_nm')
hov = ActionChains(driver).move_to_element(CN_Insert)
hov.perform()
CN_Insert.clear()
CN_Insert.send_keys(ConsumerName)
我安全地假设我需要通过单击占位符文本来激活输入菜单。但我就是无法正确编码。
笔记
应 Kajal Kundu 的要求重新发布。
解决方案
我认为问题是当 webdriver 没有加载页面时 python 脚本完成。WebDriverWait 可以帮助您解决问题。我将举一个使用方式的例子。
WebDriverWait(driver, 1000).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "textarea#text")))
上面的代码将等待 1000 秒直到textarea#text
可见。
推荐阅读
- excel - 一旦将数据输入到 Excel 工作表中的选定单元格中,运行以下代码以防止更改会产生 vba 错误 424
- node.js - 未读取 .nvmrc 文件
- ssl - 通过代理同步设置 - 无法同步 IDE 设置
- pytorch - PyTorch 中两个张量的所有可能串联
- css - 获取正确的文本颜色和字体粗细
- html - 对 UI 没有任何影响
- python - PyQt5 保存文件对话框禁用某些文件
- matplotlib - 不能将自定义非线性颜色图与 imshow 结合使用
- reactjs - 在 React 从收藏夹中删除项目后如何更新页面
- python - 机器人框架:没有 id 或名称的按钮的定位器