electron アプリを selenium から操作すると、クリック動作しない場合があります
概要
・electron アプリを selenium から操作しようとしたのですが、クリック操作が動作しない・指定とは別の場所がクリック操作される等の場合があります。
・electron アプリを自分で操作した場合には問題なく動作しています。
何が起きているのか分かる方はいますか?
環境
・MacBook Pro / OS X Yosemite (10.10.4)
・Electron
・v0.33.1
・v0.36.1
・ChromeDriver
・chromedriver-v2.15-darwin-x64
・chromedriver_mac32_2_20
・jQuery
・1.11.3
詳細
まず、以下の内容の HTML を Electron アプリにしました。
<html>
<head>
...
<script>
window.jQuery = window.$ = require("jquery");
$(function() {
$("#link1").click(function() {
$("#status1").text("OK");
});
$("#link2").click(function() {
$("#status2").text("OK");
});
$("#link3").click(function() {
$("#status3").text("OK");
});
});
</script>
</head>
<body>
<span id="status1"></span><a href="#1" id="link1" class="link">link1</a><br>
<span id="status2"></span><a href="#2" id="link2" class="link">link2</a><br>
<span id="status3"></span><a href="#3" id="link3" class="link">link3</a><br>
</body>
</html>
アプリを起動し、各リンクを押下するとリンクの前に「OK」が表示され、想定通り動いていることを確認しました。
次に、Selenium で以下の ruby コード(抜粋)を書きました。
...
link1 = driver.find_element(:id, 'link1')
link1.click
sleep(5)
link2 = driver.find_element(:id, 'link2')
link2.click
sleep(5)
link3 = driver.find_element(:id, 'link3')
link3.click
...
これを実行すると link1, link2 は問題ないのですが、link3 のみ「OK」が表示されません。
何が起きているのか分かる方はいますか?
html, コードに同様の link4 を追加して実行すると、selenium 側の link3.click 操作時に、アプリ側の link4 のイベントが発生しています。(???)
よろしくお願いします。