2016-01-13 21 views
1

環境我可以透過我的Java代碼生成HTML頁面的XPath

我是新來Selenium所以我有一些擔心,請讓我知道這件事---

  • 我不想使用firebug或任何其他工具來滿足這個要求,因爲我有一段時間後會改變的環境。

  • 在新的環境下,項目會相同,但在新環境中id或xpath會有所不同,但我的代碼應該可以在任何環境中使用。

問題

  • 所以是他們的任何方式來獲得xpath通過javaruntime

  • 我可以通過我的java代碼生成HTML頁面的xpath嗎?

  • 或者是他們的任何其他方式來做到這一點?

+0

你的問題還不夠清楚。請舉一個你當前環境(和相應的HTML)以及「新環境」(和相應的HTML)中的XPath的例子。 –

+0

當然,您可以爲給定的「元素」「生成」一個XPath,但是如何找到「元素」呢?如果按照不同的標準(例如下面的答案中概述的元素,例如鏈接文本,......)查找'Element',爲什麼還需要XPath? – qqilihq

回答

1

不,你不能。您的Java代碼基於您在html中找到的locators(id,class,xpath等),您的代碼無法爲自己做。

至於你的問題,Id不會因環境而改變,通常也不是類。嘗試找到這些定位器的元素,並儘量避免xpath,這樣你就不應該有任何問題在任何環境下運行你的代碼。

0

有一種方法可以嘗試。

硒有8個定位器,通過它可以找到的元素

在這些8的有3個定位器如下: -

鏈接文字

選擇鏈接(錨標記)元素,這包含與指定的鏈接文字匹配的文本

部分鏈接文本

選擇鏈接(錨標記)元件,它包含文本匹配指定部分鏈接文本

標籤名稱

使用標籤名稱找到元素。

現在Selenium將根據您的文本或部分文本在DOM上查找元素。

但是這種方式不是很健壯。 看看你是否能夠在上述定位器的幫助下管理/定位所有你需要的元素。

注意: - 確保至少您的文本不會進一步改變。

可以幫你:)

相關問題