2012-08-06 85 views
4

我想选择文本框中的所有文本以清除文本框。我使用Ctrl + A键做到这一点使用下面的Python 2.7硒RC独立2.20.0.jar服务器上的代码在Windows 7上的Firefox:选择文本框中的所有文本Selenium RC使用Ctrl + A

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)) 

任何帮助吗? 谢谢, 阿米特

回答

5

我使用明确的()中的webdriver没有任何麻烦...

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

我不使用WebDriver,因为我使用Selenium RC ...任何想法如何在Selenium RC中执行相同的操作...我现在不想移动到WebDriver ... – abarik 2012-08-06 21:48:41

+0

如果.clear不是出现在RC(我认为是),那么'.type(“”)'? – starenka 2012-08-06 21:53:08

+0

我尝试过.type(“A”)来代替.key_down/press/up()....但是我得到以下异常:在调用controlKeyDown()或altKeyDown()或metaKeyDown()之后立即支持 类型) – abarik 2012-08-06 21:54:37

0

硒RC,只需使用以下方法来清除文本框

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

0

尝试使用第一

element.click() 

然后使用元素

element.clear() 

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

相关问题