0

我在Chrome中使用Selenium IDE。需要在Selenium中選擇em

我有問題,因爲它的Ext JS,所以會生成某些類名。我也可能因類名「x-list-body」

我想點擊「這裏是此人」,像這樣:

Click: //div[@class='x-list']//em[.='This person here yes'] 

下面是來自網頁的HTML,藉口亂:

<div class="x-list-body"> 
<div id="ext-gen159" class="x-list-body-inner"> 
<dl> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">Woot Moot Boot</em> 
</dt> 
<div class="x-clear"> 
</div> 
</dl> 
<dl> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">This is sparta</em> 
</dt> 
<div class="x-clear"></div></dl> 
<dl> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">Henry Print</em> 
</dt> 
<div class="x-clear"></div> 
</dl> 
<dl> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">Minsy Blowman</em> 
</dt> 
<div class="x-clear"></div> 
</dl> 
<dl class=""> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">This person here yes</em> 
</dt> 
<div class="x-clear"></div> 
</dl> 
<dl class=""> 
<dt style="width:100%;text-align:left;"> 
<em unselectable="on" "="">Another cool person</em> 
</dt> 
<div class="x-clear"></div> 
</dl> 
</div> 
</div> 

請不要給我JavaScript代碼等...,我使用的是FireFox插件IDE。

謝謝!

+0

你試過使用包含在CSS選擇器 – SaiPawan

+0

@sai不,我會怎麼做對不起? – k1308517

回答

1
driver.findElement(By.xpath("//em[contains(text(),'This person here yes')]")).click(); 
+0

我該如何使用它?這是我的IDE的樣子,我把它放在哪裏? https://s32.postimg.org/ln088zfmd/image.jpg看起來像JS給我... – k1308517

+0

我沒有點擊://em [包含(文本(),'史蒂夫deSilva喬布斯倫敦')]但可悲的是它只是以紅色突出顯示,與之前的對白相同。 – k1308517

+0

如果您手動點擊該元素,會發生什麼情況。 – SaiPawan

1

是的,類名是一個問題。如果你不想完全匹配,然後更改選擇以匹配部分的類名:

//div[contains(@class,'x-list')]//em[.='This person here yes'] 

此外,由於你選擇一個非常特別的文字,你可能甚至不需要說div選擇,除非另一個em上頁面具有完全相同的文本。即你可能能夠使用:

//em[.='This person here yes']