Codeception pressKey ENTER不起作用

时间:2013-06-13 08:01:53

标签: webdriver selenium-webdriver enter codeception

我不熟悉代码。我试图在输入字段中插入文本,然后按ENTER按钮。

$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);

输入文本但未按下回车键。有什么想法吗?

3 个答案:

答案 0 :(得分:8)

如果有人按Enter键仍然有问题,这是一个解决方案:(如果你使用带Selenium的Webdriver)

$I->pressKey('#input',WebDriverKeys::ENTER);

答案 1 :(得分:2)

希望有人会觉得这很有用。

参见 http://codeception.com/docs/modules/WebDriver#pressKey

pressKey

按下给定元素上的给定键。要指定字符和修饰符(例如 ctrl alt shift meta ),请为{传递数组{1}}使用修饰符作为第一个元素,将字符作为第二个元素。对于特殊键,使用$char类中的键常量。

WebDriverKeys
     

param <?php // <input id="page" value="old" /> $I->pressKey('#page','a'); // => olda $I->pressKey('#page',array('ctrl','a'),'new'); //=> new $I->pressKey('#page',array('shift','111'),'1','x'); //=> old!!!1x $I->pressKey('descendant-or-self::*[ * `id='page']','u');` //=> oldu $I->pressKey('#name', array('ctrl', 'a'), \Facebook\WebDriver\WebDriverKeys::DELETE); //=>'' ?>

     

param $element可以是带有修饰符的char或数组。你可以提供   几个字符。

     

抛出$char

请注意,您可能需要在\Codeception\Exception\ElementNotFound之前添加\\Facebook\WebDriver\

WebDriverKeys

答案 2 :(得分:0)

我遇到了同样的问题。我按这样输入:

$I->executeJS('event.keyCode=13');
$I->fillField('input onkeypress=','13');
$I->pressKey('photo_link', '13');

但它不起作用。

我用下一个代码修复了它:

$I->executeJS("$('input#photo_link').trigger(jQuery.Event('keypress', {keyCode: 13}));");

等于输入键,试一试。