2014-08-28 97 views
1

我使用的是PHP單位PHP單位硒的webdriver:如何通過按鍵用的SendKeys()

了Facebook的webdriver由於一個表中的一些過濾問題發送鍵我希望能夠到的SendKeys但關鍵鍵。 比方說,我單擊該字段,我想進入「硒」

$this->webDriver->findElement(WebDriverBy::id('Sessies'))->click(); 
$this->webDriver->getKeyboard()->sendKeys('Selenium'); 

這只是貼在該領域「硒」,但我希望它鍵入: S然後e然後l等。

反正是有,我可以再說這樣做:

$this->webDriver->getKeyboard()->sendKeys('S'); 
$this->webDriver->getKeyboard()->sendKeys('e'); 
$this->webDriver->getKeyboard()->sendKeys('l'); 
// and so on ... 

編輯:試行安德烈的選項如下:

$var = 'Selenium'; 
for ($i = 0; $i<strlen($var); $i++) { 
$character = substr($var, $i,1); 
$this->webDriver->getKeyboard()->sendKeys($character);  
} 

結果=它發送鍵「M」,但僅此而已。

回答

1

只在字母上分割單詞並遍歷每個單詞。我不知道PHP,但認爲這將看起來像:

//$var it's your word 
for ($i = 0; $i<strlen($var); $i++) { 
    $character = substr($var, $i,1); 
    $this->webDriver->getKeyboard()->sendKeys($character);  
} 
+0

它仍然把它在一次。它不會使它逐字逐句地輸入。 – Decypher 2014-08-28 08:37:06

+0

輸入字母后添加等待時間 – 2014-08-28 08:39:02

+0

它只發送最後一個字母'm'(Selenium),這就是爲什麼它不工作/找到任何東西。 – Decypher 2014-08-28 08:58:59