按照相同的元素能正常工作在IE中,FF它给ElementNotVisibleException
硒的webdriver点击在FF和IE
driver.findElement(By.xpath("//div[4]/table/tbody/tr[1]/td[2]")).click();
虽然按照FF作品,也就是说,它并不做任何事情:
WebElement element1 = driver.findElement(By.xpath("//div[4]/table/tbody/tr[1]/td[2]"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", element1);
我使用IE 9.0
(使用32位IEDriverServe.exe)和FF 23.0
。
这里是代码:
<div id="popup_12" class="dijitPopup dijitMenuPopup" style="z-index: 1000; right: auto; left: 45px; top: 27px; visibility: visible; display: none;" role="presentation" dijitpopupparent="dijit_MenuBar_0">
<table class="dijit dijitMenu dijitReset dijitMenuTable dijitMenuPassive" cellspacing="0" data-dojo-attach-event="onkeypress:_onKeyPress" tabindex="0" role="menu" widgetid="dijit_Menu_1" style="top: 0px; visibility: visible;">
<tbody class="dijitReset" data-dojo-attach-point="containerNode">
<tr class="dijitReset dijitMenuItem" tabindex="-1" role="menuitem" data-dojo-attach-point="focusNode" aria-labelledby="dijit_PopupMenuItem_1_text dijit_PopupMenuItem_1_accel" style="-moz-user-select: none;" widgetid="dijit_PopupMenuItem_1" aria-haspopup="true">
<td class="dijitReset dijitMenuItemIconCell" role="presentation">
<td id="dijit_PopupMenuItem_1_text" class="dijitReset dijitMenuItemLabel" data-dojo-attach-point="containerNode" colspan="2">XXXXX</td>
<div id="popup_23" class="dijitPopup dijitMenuPopup" style="z-index: 1001; right: auto; left: 117px; top: 0px; visibility: visible; display: none;" role="presentation" dijitpopupparent="dijit_Menu_1">
<table class="dijit dijitMenu dijitReset dijitMenuTable dijitMenuPassive" cellspacing="0" data-dojo-attach-event="onkeypress:_onKeyPress" tabindex="0" role="menu" widgetid="dijit_Menu_2" style="top: 0px; visibility: visible;">
<tbody class="dijitReset" data-dojo-attach-point="containerNode">
<tr class="dijitReset dijitMenuItem" tabindex="-1" role="menuitem" data-dojo-attach-point="focusNode" aria-labelledby="dijit_MenuItem_3_text dijit_MenuItem_3_accel" style="-moz-user-select: none;" widgetid="dijit_MenuItem_3">
<tr class="dijitReset dijitMenuItem" tabindex="-1" role="menuitem" data-dojo-attach-point="focusNode" aria-labelledby="dijit_MenuItem_4_text dijit_MenuItem_4_accel" style="-moz-user-select: none;" widgetid="dijit_MenuItem_4">
<tr class="dijitMenuSeparator" style="-moz-user-select: none;" widgetid="dijit_MenuSeparator_0">
<tr class="dijitReset dijitMenuItem" tabindex="-1" role="menuitem" data-dojo-attach-point="focusNode" aria-labelledby="dijit_MenuItem_5_text dijit_MenuItem_5_accel" style="-moz-user-select: none;" widgetid="dijit_MenuItem_5">
<td class="dijitReset dijitMenuItemIconCell" role="presentation">
<td id="dijit_MenuItem_5_text" class="dijitReset dijitMenuItemLabel" data-dojo-attach-point="containerNode" colspan="2">YYYYY</td>
我必须单击项目XXXXX和项目YYYYY
与popup_12和popup_23 DIV ID改变每次页面加载时间或点击该项目
项目YYYYY仅在项目XXXXX被点击时才会显示
使用javascript执行程序和xpath或CSS选择器的FF可以很好地工作,但是与也就是说,它并不
对于这个与IE浏览器工作,我必须使用XPath或CSS无javascript执行,但这次又不会与FF
我对硒的经验,但是我发现你在宣传你的产品时很奇怪(因为我不能说它对这个问题有用)。知道它已经被讨论过了:http:// meta。stackexchange.com/questions/57497/limits-for-self-promotion-in-answers。 –
Marc,感谢您强调代码,我原本应该这样做。另外感谢您将链接添加到jQuery。我理解你对促销链接的观点,然而本地验证器使得用Selenium进行功能测试变得更容易。希望我在几年前知道这件事时就开始做这件事。它是免费的。我非常理解你的观点,所以我删除了链接到我们的网页,并严格保持链接关于如何使用本地验证器,我认为这对海报很有用。 –
编辑没问题,这是正常的事情。随着你的编辑,如果你的答案可以帮助你的答案,我没有看到问题,那正是我们想要的。 –