使用Ctrl + A选择文本框Selenium RC中的所有文本

时间:2012-08-06 21:20:22

标签: python selenium

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

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 个答案:

答案 0 :(得分:5)

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

el = self.selenium.find_element_by_name(name)
el.clear()

答案 1 :(得分:0)

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

即可
  

selenium.type(“someLocator”,“”);

答案 2 :(得分:0)

尝试先使用

element.click()

然后使用元素

element.clear()

它可以解决你的问题,因为它真的解决了我的问题。

答案 3 :(得分:0)

您可以这样做:

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

当您想使用它时,例如:

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

在此示例中,WebElement可以是文本框,文本区域和类似内容。