2013-08-02 192 views
0

我試圖在網站中找到一個元素,我試圖自動化,但無法弄清楚如何獲取特定元素。我已經提供了下面的HTML。請提供一些意見。謝謝。使用Selenium Webdriver查找元素

< DIV ID = 「Troy_combine」 類= 「sign_in_flow sign_in_flow_overlay troy_overlay epc_modal big_dialog modal_display」> < H3類= 「遷移」>歡迎回來。 </h3> < h3 class =「normal」>歡迎來到迪斯尼樂園</h3> < p class =「migration」>看起來您似乎有一個使用相同地址和密碼的帳戶。我們將它們合併到一個帳戶中,以便更輕鬆地訪問這兩個服務。 </p>

注意:有多個「遷移」類。它怎麼知道哪一個拿起?

我想取斜體顯示的文本。幫助需要

硒的webdriver與Java

通過類和ID

回答

2

我會用一個cssSelector像這樣:

String itext = driver 
    .findElement(By.cssSelector("div#Troy_combine p.migration")).getText(); 
+0

有多個名稱爲「遷移」的類。我想獲得有'p'標籤的文本。我收到的元素與上述解決方案沒有發現異常 –

+0

'combine'和'p'之間是否存在空格?現在我沒有得到任何異常,但字符串返回爲空 –

+0

他的代碼是正確的。如果你運行這個,會發生什麼:'新的WebDriverWait(驅動程序,10).until(ExpectedConditions.textToBePresentInElement(By.cssSelector(「div#Troy_combine p.migration」),「看起來你有一個帳戶使用相同的地址, 「))' –

0

選擇永遠是最簡單,最可靠的。做一個By.className("migration")

0

findElement(By.cssSelector("div.migration")).getText();

我想你可以通過ID選擇它。

相關問題