seleniumによるコンテキストメニューの選択

1,344 views
Skip to first unread message

ryoji r

unread,
Jun 28, 2021, 8:21:47 AM6/28/21
to 日本Seleniumユーザーコミュニティ
はじめまして
selenium+C#(.NET CORE5.0)+chromeの環境にてツール作成を行っているのですが

コンテキストメニュー(右クリックメニュー)を表示はできたのですが
メニューを操作する事ができないでいます。
操作するにはどうすれば良いか、わかる方いらっしゃいませんでしょうか?

【行った事1】<メニューは表示されるが、操作できず>
var action = new OpenQA.Selenium.Interactions.Actions(driver);
action.MoveToElement(getElement).ContextClick(getElement).
 SendKeys(Keys.ArrowUp).
 SendKeys(Keys.ArrowUp).
 SendKeys(Keys.Enter).Build().Perform();

【行った事2】<メニューが表示された後、メインウインドウ側が動いて終了>
var action = new OpenQA.Selenium.Interactions.Actions(driver);
action.MoveToElement(getElement).ContextClick(getElement).Build().Perform();
action.SendKeys(Keys.ArrowUp).Build().Perform();
action.SendKeys(Keys.ArrowUp).Build().Perform();
action. SendKeys(Keys.Enter)  .Build().Perform();

【他に試した事】
1)MoveToElementを外して実行
2)ContextClickをシフト+f10キーに変更


Katsuhiko Daido

unread,
Jun 29, 2021, 11:48:29 PM6/29/21
to ryoji r, 日本Seleniumユーザーコミュニティ
ryojiさん、こんにちは。

ウィンドウを切り替える必要があるのだと思います。
下記のリンクでポップアップウィンドウに切り替える方法が説明されています(言語はJavaですが)。
https://stackoverflow.com/questions/9188343/how-can-selenium-web-driver-get-to-know-when-the-new-window-has-opened-and-then

var windowhandle = driver.CurrentWindowHandle; //メインウィンドウのハンドルを保存

// (ポップアップウィンドウに切り替えてテストを実行)

driver.SwitchTo().Window(windowhandle); //メインウィンドウのハンドルに戻す

という手順ではどうでしょうか?

2021年6月28日(月) 21:21 ryoji r <eg.r...@gmail.com>:
--
このメールは Google グループのグループ「日本Seleniumユーザーコミュニティ」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには seleniumjp+...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/seleniumjp/21ceadd7-915a-4496-b1df-7ffc25334413n%40googlegroups.com にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages