我需要瀏覽菜單並選擇一個子菜單。使用Robot Framework選擇子菜單
我使用點擊元素的XPath如下:
//*[@id="gomenu68e1884541"]//nav/div/ul/li[3]/div/ul/li[2]/a
但它並不能幫助我,因爲id
是dynamic
和變化,每一次,當我訪問應用程序
我怎樣才能瀏覽一個菜單 - >子菜單?
欲瞭解更多詳情,請參考下面提到的圖片。
誰能幫助?
我需要瀏覽菜單並選擇一個子菜單。使用Robot Framework選擇子菜單
我使用點擊元素的XPath如下:
//*[@id="gomenu68e1884541"]//nav/div/ul/li[3]/div/ul/li[2]/a
但它並不能幫助我,因爲id
是dynamic
和變化,每一次,當我訪問應用程序
我怎樣才能瀏覽一個菜單 - >子菜單?
欲瞭解更多詳情,請參考下面提到的圖片。
誰能幫助?
我對Xpath有同樣的問題。 js
,迷惑angular
等基於網站,這是生成的內容dinamically根本不工作。我花了很多時間在我以前的自動化項目上,爲此找到了一個解決方案:構建自己的xpath。不僅意味着Insect Element
在Chrome
和其他瀏覽器中,你必須自己構建它們,同時學習代碼和網站的工作方式。這個方法應該遵循:
xpath
你必須找出你如何能達到想要的元素,而不使用@id
s。使用css classes
這是很少隨機改變,並找出你的元素之間的關係。您必須使用following-sibling
和text()
以及其他不太知名的xpath選擇器。我會建議你this 熟悉xpath
。對我來說沒有任何其他的方式,但最終我有一個了不起的,格式良好的變量文件,包含了所有元素的xpath。
必須同意,除此之外別無他法,只能去學習。 Xpath是其他任何語言的子集,甚至非常簡單直接,我們在selenium/webdriver中使用的是大多數情況下的基本集合。我無法想象在沒有編程語言知識的情況下編程。 w3c是明確的資源,但是也可以從w3school教程開始。對於上帝的愛,千萬不要使用瀏覽器性別化的xpath/css :) – Todor
在這種情況下,菜單項(li
元素)是具有特定類別的div
的孫子,以及ul
的子元素。如果你的a
後去的XPath的是:
//div[@class="menuslide」]/ul/li/a[@title="Alumnos"]
如果目標元素應該是li
,您可以使用此XPath - 它選擇li
具有帶標題的孩子:
//div[@class="menuslide」]/ul/li[a[@title="Alumnos"]]
如果你想它的任何未來的變化較爲強勁,但速度較慢一點點,你可以跳過ul
和div
之間的父子關係,以及它和li
,並使其只是「找我有一個li
元素祖先與類「一div
:
//div[@class="menuslide」]//li/a[@title="Alumnos"]
而這個創造的XPath的一般模式 - 你會發現一個共同的屬性模式,將留(類和標題屬性),而只會查明評估路徑具體元素,考慮到評估速度和魯棒性之間的權衡(速度是一個問題與現代瀏覽器和硬件的更少)
我終於得到它的工作(甚至在第三級菜單的)使用這些命令:
Wait Until Page Contains Element
Sleep
Mouse Over
Click Link
而且不同的XPath的混合:
xpath=//*[@class="dropdown"]//a[contains(., 'Alumnos')]
xpath=//*[@class="dropdown"]/li[3]/div/ul/li[1]/div/ul/li[1]/a
謝謝大家對你的幫助
你能張貼您的資產淨值的HTML? – Goralight
>如何瀏覽菜單>子菜單?通過不使用動態ID-S,直接派生路徑和索引元素:)。即不要拿什麼xpath瀏覽器爲你生成:)在問題中提供html源代碼,或者鏈接到公開可見的系統,我們會幫助你。 – Todor