【发布时间】:2013-06-09 13:03:36
【问题描述】:
我不熟悉密码接收。我正在尝试在输入字段中插入文本并按 ENTER 按钮。
$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);
文本已输入,但未按下回车键。有什么想法吗?
【问题讨论】:
标签: webdriver selenium-webdriver enter codeception
我不熟悉密码接收。我正在尝试在输入字段中插入文本并按 ENTER 按钮。
$I->fillField('#token-input-yw1', 'Some string');
$I->pressKey('#token-input-yw1', 13);
文本已输入,但未按下回车键。有什么想法吗?
【问题讨论】:
标签: webdriver selenium-webdriver enter codeception
希望有人会觉得这很有用。
见http://codeception.com/docs/modules/WebDriver#pressKey
按键
在给定元素上按给定键。要指定字符和修饰符(例如 ctrl、alt、shift、meta),请为 @ 传递一个数组987654322@ 修饰符作为第一个元素,字符作为第二个元素。对于特殊键,请使用 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); //=>'' ?>参数
$elementparam
$char可以是带修饰符的字符或数组。您可以提供 几个字符。抛出
\Codeception\Exception\ElementNotFound
请注意,您可能需要在WebDriverKeys 之前添加\ 或\Facebook\WebDriver\:
\Facebook\WebDriver\WebDriverKeys::ENTER
【讨论】:
\ ,就像\WebDriverKeys::ENTER一样。否则会抛出错误Fatal error: Class 'Codeception\Module\WebDriverKeys' not found
如果有人仍然无法按 Enter 键,这里有一个解决方案:(如果您使用带有 Selenium 的 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}));");
相当于回车键,试试看。
【讨论】: