8

我正在尝试选择文本框中的所有文本以清除文本框。我正在使用 Ctrl+A 在 Windows 7 firefox 上的 Selenium RC 独立 2.20.0.jar 服务器上使用以下 Python 2.7 代码来执行此操作:

from selenium import selenium
s = selenium('remote-machine-ip', 4444, '*chrome', 'http://my-website-with-textbox')
locator = 'mylocator-of-textbox'
s.open()
s.type(locator, 'mytext')
s.focus(locator)
s.control_key_down()
s.key_down(locator, "A")
s.key_press(locator, "A")
s.key_up(locator, "A")
s.control_key_up()

# Nothing happens here... I cannot see the text getting selected...

# Nothing gets cleared here except the last char
s.key_down(locator, chr(8))  # Pressing backspace
s.key_press(locator, chr(8))
s.key_up(locator, chr(8))

有什么帮助吗?谢谢,阿米特

4

4 回答 4

11

我在 WebDriver 中使用 clear() 没有任何麻烦......

el = self.selenium.find_element_by_name(name)
el.clear()
于 2012-08-06T21:39:40.517 回答
0

在 Selenium RC 中,只需使用以下命令清除文本框

selenium.type("someLocator", "");

于 2013-05-15T05:58:03.673 回答
0

先尝试使用

element.click()

然后使用元素

element.clear()

它可能会解决您的问题,因为它确实解决了我的问题。

于 2013-05-21T09:54:31.863 回答
0

你可以这样做:

 public void selectAll(WebElement element) {
    String selectAll = Keys.chord(Keys.CONTROL, "a");
    element.sendKeys(selectAll);
}

当你想使用它时,例如:

    selectAll(myDriver.findElement(By.id("testId")));

在此示例中,WebElement 可以是文本框、文本区域等。

于 2020-09-15T03:29:18.210 回答