C# 无法使用selenium webdriver在IE中执行右键单击
我正在尝试右键单击IE11 selenium c。我使用以下两种方法,但没有一种会触发右键单击。虽然未收到任何错误,但也未执行右键单击以打开关联菜单。 请注意,我的selenium webdriver和IE webdriver版本都是3.8 方法1:C# 无法使用selenium webdriver在IE中执行右键单击,c#,selenium,webdriver,C#,Selenium,Webdriver,我正在尝试右键单击IE11 selenium c。我使用以下两种方法,但没有一种会触发右键单击。虽然未收到任何错误,但也未执行右键单击以打开关联菜单。 请注意,我的selenium webdriver和IE webdriver版本都是3.8 方法1: string script = "var evt = document.createEvent('MouseEvents');" + "var RIGHT_CLICK_BUTTON_CODE = 2;"
string script = "var evt = document.createEvent('MouseEvents');"
+ "var RIGHT_CLICK_BUTTON_CODE = 2;"
+ "evt.initMouseEvent('contextmenu', true, true, window, 1, 0, 0, 0, 0, false, " +
" false, false, false, RIGHT_CLICK_BUTTON_CODE, null);"
+ "arguments[0].dispatchEvent(evt);";
IJavaScriptExecutor js = (IJavaScriptExecutor)SmokeTestSuite.browser;
js.ExecuteScript(script, webElement);
Actions builder = new Actions(SmokeTestSuite.browser);
builder.MoveToElement(objectToBeClicked);
builder.ContextClick(objectToBeClicked).Build().Perform();
<div class="scrollHeader" style="overflow: hidden; padding-right: 17px;">
<div class="tree-grid2">
<div class="tree-grid2-row">
<div class="tree-grid2-cell" title="Coaching Notes" style="min-width: 34px; max-width: 34px;">
<div>
<div class="coaching-note-icon"> </div>
</div>
</div>
方法2:
string script = "var evt = document.createEvent('MouseEvents');"
+ "var RIGHT_CLICK_BUTTON_CODE = 2;"
+ "evt.initMouseEvent('contextmenu', true, true, window, 1, 0, 0, 0, 0, false, " +
" false, false, false, RIGHT_CLICK_BUTTON_CODE, null);"
+ "arguments[0].dispatchEvent(evt);";
IJavaScriptExecutor js = (IJavaScriptExecutor)SmokeTestSuite.browser;
js.ExecuteScript(script, webElement);
Actions builder = new Actions(SmokeTestSuite.browser);
builder.MoveToElement(objectToBeClicked);
builder.ContextClick(objectToBeClicked).Build().Perform();
<div class="scrollHeader" style="overflow: hidden; padding-right: 17px;">
<div class="tree-grid2">
<div class="tree-grid2-row">
<div class="tree-grid2-cell" title="Coaching Notes" style="min-width: 34px; max-width: 34px;">
<div>
<div class="coaching-note-icon"> </div>
</div>
</div>
HTML代码:
string script = "var evt = document.createEvent('MouseEvents');"
+ "var RIGHT_CLICK_BUTTON_CODE = 2;"
+ "evt.initMouseEvent('contextmenu', true, true, window, 1, 0, 0, 0, 0, false, " +
" false, false, false, RIGHT_CLICK_BUTTON_CODE, null);"
+ "arguments[0].dispatchEvent(evt);";
IJavaScriptExecutor js = (IJavaScriptExecutor)SmokeTestSuite.browser;
js.ExecuteScript(script, webElement);
Actions builder = new Actions(SmokeTestSuite.browser);
builder.MoveToElement(objectToBeClicked);
builder.ContextClick(objectToBeClicked).Build().Perform();
<div class="scrollHeader" style="overflow: hidden; padding-right: 17px;">
<div class="tree-grid2">
<div class="tree-grid2-row">
<div class="tree-grid2-cell" title="Coaching Notes" style="min-width: 34px; max-width: 34px;">
<div>
<div class="coaching-note-icon"> </div>
</div>
</div>
InternetExploreProptions为:EnsureCleanSession=true、IgnoreZoomLevel=true、IntroductionInstabilityByIgoningProtectedModeSettings=true、EnableNativeEvents=false、EnablePersistentHover=false、RequiredWinDowFocus=true、,PageLoadStrategy=PageLoadStrategy。急切地尝试另一个专用于您的IE版本的稳定版本的IE驱动程序。右键单击是使用1执行的//div[@class='scrollHeader']2//div[@class='tree-grid2']和偶数3//div[@title='Coaching Notes']。他们都失败了。请注意,元素已成功找到,但只是右键单击事件未执行,它是否在其他浏览器中工作?是的,它使用Selenium的Actions类代码在Chrome中工作。