python - 使用 Selenium 向 HTML 元素发送密钥
问题描述
我正在使用 Selenium 在 Python 中编写用于体育博彩的自动化脚本。我被困在 Selenium 无法单击或发送键到以下屏幕截图(https://i.stack.imgur.com/NbljY.png)中突出显示的特定 HTML 元素的地方。
这是我尝试过的:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.bet365.com")
### Some code here to navigate to a particular match
driver.switch_to.frame(bet_driver.find_element_by_tag_name("iframe"))
elem = driver.find_element_by_class_name("bs-Stake")
elem.click()
elem.send_keys("100")
这将返回以下错误:
ElementNotInteractableException: Element <div class="bs-Stake"> is not reachable by keyboard
如果我尝试
elem = driver.find_element_by_class_name("stk bs-Stake_TextBox")
我得到错误:
NoSuchElementException: Unable to locate element: .stk bs-Stake_TextBox
使用 Selenium 中可用的任何方法导航到 HTML 元素、单击并向其发送密钥,我将不胜感激。
解决方案
尽管 CSS 样式是继承的……但类名称不是。您的 css 选择器中有三个单独的类,但您的元素示例只有一个。
Selenium 旨在模仿一个人可以执行的相同操作……错误表明该字段不可用于交互……找出原因。
推荐阅读
- javascript - 通过自定义钩子访问的自定义上下文提供程序中的值未定义
- php - 将 CSS 类添加到 PHP
- c - 如何在堆栈上返回超大的结构?
- neo4j - 如何在 neo4j 中从一个 csv 创建两种节点类型?
- java - 带有 ReactNative 的 Android Studio 中不支持的类文件主要版本 59
- django - 将基于函数的视图转换为基于类的视图
- python-3.x - 如何使用 numpy 和 scipy 更改异常值
- react-admin - 如何在 react-admin 中使用相关字段的参考输入?
- python - 如何加入具有相同多列的两个熊猫数据框?我不想要 Date.a | 等重复项 日期.b
- javascript - React Navigation 在登录时不会更新屏幕