Codeception pressKey ENTER不起作用
问题描述:
我对代码不熟悉。我试图在输入字段中插入文本并按下ENTER按钮。Codeception pressKey ENTER不起作用
$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);
输入文本但未按下回车键。有任何想法吗?
答
如果还有人有问题,按下回车键,这里是一个解决方案:(如果你正在使用的webdriver硒)
$I->pressKey('#input',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}));");
它等于回车键,试试吧。
答
希望有人会觉得这非常有用。
见http://codeception.com/docs/modules/WebDriver#pressKey
pressKey
压力机给定元素在给定的关键。指定一个字符和改性剂(例如CTRL,ALT,移,元),通过用于$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); //=>'' ?>
param
$element
param
$char
Can be char or array with modifier. You can provide several chars.throws
\Codeception\Exception\ElementNotFound
请注意,您可能需要WebDriverKeys
之前添加\
或\Facebook\WebDriver\
:
\Facebook\WebDriver\WebDriverKeys::ENTER
在助手使用它,我需要添加'\'为'\ WebDriverKeys :: ENTER '。否则它会抛出一个错误'致命错误:Class'Codeception \ Module \ WebDriverKeys'not found' –