2016-06-15 8 views
2

私が試していない:Test :: WWW :: Seleniumを使用してFirefoxにキーストロークを送信するにはどうすればよいですか?

$sel->type_keys_ok("//fieldset[2]/input", "KEYS"); 

んが結果を。何も変わっていません。

はまた試してみました:

$sel->send_keys_ok("//fieldset[2]/input", "KEYS"); 

が実装されていません。

も試み:「initKeyEvent」インターフェースKeyboardEventのを実装していないオブジェクトに対して呼び出さ:

my $res = $sel->get_eval(' 
    function simulateKeyEvent(character) { 
    var evt = document.createEvent("KeyboardEvent"); 
    (evt.initKeyEvent || evt.initKeyboardEvent)("keypress", true, true, window, 
       0, 0, 0, 0, 
       0, character.charCodeAt(0)) 
    var canceled = !body.dispatchEvent(evt); 
    if(canceled) { 
    // A handler called preventDefault 
    alert("canceled"); 
    } else { 
    // None of the handlers called preventDefault 
    alert("not canceled"); 
    } 
    }; 
    simulateKeyEvent("K");'); 

は、その後、私はこのエラーを得ました。ありがとう。

答えて

1

バージョン1:

my $element = $sel->find_element("//input[\@name='q']"); 
$element->send_keys("KEYS"); 
$element->submit(); 

バージョン2を使用してWDKeys:

use Selenium::Remote::WDKeys; 

my $element = $sel->find_element("//input[\@name='q']"); 
$element->send_keys("KEYS"); 
$sel->send_keys_to_active_element(KEYS->{'enter'}); 

詳細についてはCPAN Selenium::Remote::Driver

関連する問題