首页 > 解决方案 > 使用 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 元素、单击并向其发送密钥,我将不胜感激。

标签: pythonseleniumautomation

解决方案


尽管 CSS 样式是继承的……但类名称不是。您的 css 选择器中有三个单独的类,但您的元素示例只有一个。

Selenium 旨在模仿一个人可以执行的相同操作……错误表明该字段不可用于交互……找出原因。


推荐阅读