按照相同的元素能正常工作在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進行功能測試變得更容易。希望我在幾年前知道這件事時就開始做這件事。它是免費的。我非常理解你的觀點,所以我刪除了鏈接到我們的網頁,並嚴格保持鏈接關於如何使用本地驗證器,我認爲這對海報很有用。 –
編輯沒問題,這是正常的事情。隨着你的編輯,如果你的答案可以幫助你的答案,我沒有看到問題,那正是我們想要的。 –