如何使用Java覆盖sendkeys()方法

时间:2018-11-15 12:15:29

标签: java selenium selenium-webdriver webdriver

我想覆盖sendkeys()。应该先清除然后输入密钥

public Actions SendKeys(string keysToSend){

}

1 个答案:

答案 0 :(得分:0)

根据文档,sendKeys()方法定义为:

void sendKeys(java.lang.CharSequence... keysToSend)

Parameters:
keysToSend - character sequence to send to the element
Throws:
java.lang.IllegalArgumentException - if keysToSend is null

因此,很明显我们不能一开始就覆盖SendKeys()方法。

替代

作为替代方案,在讨论A general question about Java and WebDriver时,@ KrishnanMahadevan提到您可以按照以下提到的概念,步骤和过程尝试覆盖 sendKeys() 方法:

  • 根据您使用的 WebDriver 变体,概念可能会有所不同。
  • 由于所有 WebDriver 实现都扩展了 RemoteWebDriver ,因此您只能使用 RemoteWebDriver ,因此在使用 Selenium时网格,您可以使用以下调整。
  • 如果您不使用 RemoteWebDriver ,而是使用 GeckoDriver ChromeDriver IEDriverServer ,那么您将需要extend的相应类,这些类中的所有overridefindElement()等方法findElements()来返回 my_web_element 的实例。 。
  • my_web_element 基本上是您的课程,您可以在其中扩展 RemoteWebElement 然后覆盖 org.openqa.selenium.remote.RemoteWebElement.sendKeys(CharSequence...)

以上步骤肯定会让您入门。