我最近在使用 selenium 时遇到了一个问题,在该问题中,调用clear()
自定义文本框会导致在稍后在测试中输入文本时出现问题。文本框会检查 ( JavaScript
) browserEvents
,尤其是keyDown
事件。我试图弄清楚什么clear()
会影响事情,但我似乎找不到任何细节。
Selenium Java 绑定的源代码显示clear()
不使用键盘或鼠标模拟来清除文本框中的文本。那么它到底是做什么的呢?
我最近在使用 selenium 时遇到了一个问题,在该问题中,调用clear()
自定义文本框会导致在稍后在测试中输入文本时出现问题。文本框会检查 ( JavaScript
) browserEvents
,尤其是keyDown
事件。我试图弄清楚什么clear()
会影响事情,但我似乎找不到任何细节。
Selenium Java 绑定的源代码显示clear()
不使用键盘或鼠标模拟来清除文本框中的文本。那么它到底是做什么的呢?
该clear()
方法执行“自动化原子”,这是一个 JavaScript 函数,旨在为浏览器提供自动化功能的最小基本单元。在 的情况下clear()
,该函数将value
元素的属性设置为空字符串 (''),然后onchange
在元素上触发事件。您感兴趣的原子函数是bot.action.clear()
这就是clear()
将要做什么。该函数将清除文本框值并启用文本框。在文本字段中输入文本之前,我们需要清除文本字段并启用它。如果我们不使用clear ()
,我们不能使用 selenium 在文本字段中输入任何值。
driver.find_element_by_xpath(xpath).clear()
driver.find_element_by_xpath(xpath).send_keys("data")