我不熟悉代码接收。我正在尝试在输入字段中插入文本并按 ENTER 按钮。
$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);
文本已输入,但未按下回车键。有任何想法吗?
我不熟悉代码接收。我正在尝试在输入字段中插入文本并按 ENTER 按钮。
$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);
文本已输入,但未按下回车键。有任何想法吗?
如果有人仍然无法按 Enter 键,这里有一个解决方案:(如果您使用带有 Selenium 的 Webdriver)
$I->pressKey('#input',WebDriverKeys::ENTER);
希望有人会发现这很有用。
请参阅http://codeception.com/docs/modules/WebDriver#pressKey
按键
在给定元素上按下给定键。要指定字符和修饰符(例如ctrl, alt, shift, meta),请传递一个数组 for $char
,其中修饰符作为第一个元素,字符作为第二个元素。对于特殊键,请使用WebDriverKeys
类中的键常量。
<?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); //=>'' ?>
参数
$element
param
$char
可以是带修饰符的字符或数组。您可以提供多个字符。投掷
\Codeception\Exception\ElementNotFound
请注意,您可能需要添加\
or\Facebook\WebDriver\
之前WebDriverKeys
:
\Facebook\WebDriver\WebDriverKeys::ENTER
我有同样的问题。我按这种方式输入:
$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}));");
等于回车键,试试看。