2017-04-17 130 views
-2

在我们的应用程序中有一个任务视图页面。对于不同的任务,为的XPath同一按钮发现变化,每次如下动态元素处理

WIN_1_1000000014 
WIN_2_1000000014 
WIN_3_1000000014 
WIN_4_1000000014 
WIN_5_1000000014 

I am providing html codes for two of such scenarios below . I am using following xpaths to find that button but not working for me. 

// DIV [@ ardbn = '受让人组织' //一个[@class = 'BTN btn3d菜单'] // IMG
// IMG [@ ALT = '的组织菜单']

帮我家伙

<div id="WIN_1_1000000014" class="df arfid1000000014 ardbnAssigneeOrganization Char" arid="1000000014" artype="Char" ardbn="Assignee Organization" arlbox="0,4,78,17" ardcf="1" style="z-index:998;top:84px; left:5px; width:263px; height:21px;" arwindowid="1"> 
 
    <label id="label1000000014" class="label f6" for="x-arid_WIN_1_1000000014" style="top: 4px; left: 0px; width: 78px; height: 17px;">Organization</label> 
 
    <textarea id="arid_WIN_1_1000000014" class="text sr " cols="20" maxlen="60" style="top:0px; left:83px; width:154px; height:21px;" armenu="CTM:SGP:SupportOrganization3-Q" mstyle="2" arautoc="1" arautocmb="1" arautocak="0" arautoctt="400" rows="1" title="Service_Desk_First_Tier" 
 
    wrap="off"></textarea> 
 
    <a class="btn btn3d menu" href="javascript:" style="top:0px; left:242px; width:21px; height:21px;"> 
 
    <img class="btnimg" src="../../../../resources/images/mt_sprites.gif" alt="Menu for Organization" title="" style="background-color: transparent;"> 
 
    </a>

<div id="WIN_3_1000000014" class="df arfid1000000014 ardbnAssigneeOrganization Char" arid="1000000014" artype="Char" ardbn="Assignee Organization" arlbox="0,4,78,17" ardcf="1" style="z-index:998;top:84px; left:5px; width:263px; height:21px;" arwindowid="3"> 
 
    <label id="label1000000014" class="label f6" for="x-arid_WIN_3_1000000014" style="top: 4px; left: 0px; width: 78px; height: 17px;">Organization</label> 
 
    <textarea id="arid_WIN_3_1000000014" class="text sr " cols="20" maxlen="60" style="top:0px; left:83px; width:154px; height:21px;" armenu="CTM:SGP:SupportOrganization3-Q" mstyle="2" arautoc="1" arautocmb="1" arautocak="0" arautoctt="400" rows="1" title="Service_Desk_Resolver" 
 
    wrap="off"></textarea> 
 
    <a class="btn btn3d menu" href="javascript:" style="top:0px; left:242px; width:21px; height:21px;"> 
 
    <img class="btnimg" src="../../../../resources/images/mt_sprites.gif" alt="Menu for Organization" title="" style="background-color: transparent;"> 
 
    </a>

+1

你是什​​么意思*不为我工作*?你有例外吗?分享更多详细信息 – Andersson

+0

对于第一个任务它正在工作,但从第二个任务开始,它不起作用。 –

+0

如果我试图找到使用IDE对于第一个任务XPath是** // IMG [@ ALT =“的组织菜单”] **对于第二个任务是**(// IMG [@ ALT =“的组织菜单” ])[2] **等等。 –

回答

0

的xpath用于第一工作3个元素是
(// DIV [@ ardbn = '受让人组织'] //一个[@class = 'BTN btn3d菜单'] //张图片)[最后()]
的xpath休息元件工作是
(// DIV [@ ardbn = '受让人组织'] //一个[@class = 'BTN btn3d菜单'] //张图片)[位置()< 3]

1

,你可以写如下的最新任务中的XPath:

(// DIV [包含(@ ID, 'WIN _')]) last()] // img [@ alt ='Menu for Organization']

1

使用以下代码进行点击或任何其他操作:

List<WebElement> elements = driver.findElements(By.xpath("//img[@alt='Menu for Organization']")); 

     for(int i=1;i<=elements.size();++i){ 
elements.get(i).click(); 
     }