我尋求一些幫助,XPath選擇一個後代元素。我已經學習了XPath的基礎知識,但是無法將它們結合起來解決這個問題。量角器/ XPath的 - 查找包含包含文本
所以我在HTML網格包含大約30排,每排(從左至右)都有一個複選框和員工姓名。這裏是行組成的一個片段:
<div class="ui-grid-row ng-scope" data-row-num="21"> //Whole row
<div role="row" ui-grid-row="row" class="ng-isolate-scope">
<div role="rowheader" id="1746254927-13-urGrid-005-cell"> //This is checkbox
<div role="gridcell" id="17443224958-13-urGrid-005-cell">
<div class="ui-grid-cell-contents ng-binding text-left"> Appleseed, Jonny</div>
我的目標是要找到:DIV CLASS =「UI格列NG-範圍」數據行NUM =「21」>基於它的後裔包含「Appleseed,Jonny」。從這裏,我將用getAttribute提取data-row-num,然後導航到正確的複選框。
我至今是:
element(by.xpath("//div[@class='ui-grid-row ng-scope') and contains(.//div, 'Appleseed, Jonny')]"));
有人能幫助指向我在這裏正確的方向?我不是在尋找包含這個文本的元素,而是它的父元素,所以我可以提取它的data-row-num。
或者,如果我能找到包含「蘋果核戰記,強尼」的div元素我怎麼會那麼找到它的父元素(在這種情況下,它不是直接父,但2元了)?
這似乎工作(如果到NG-scope'後'移除多餘的支架)。你能更詳細地描述這個問題嗎? – Andersson
所以每個'行'中有5個div元素。第一個div包含行中的所有div,第二個div包含2個div,其中一個是複選框,另一個是員工姓名,員工姓名div包含另一個具有員工姓名文本的div。這些'行'有幾個,每個都有不同的員工姓名。我想要根據員工姓名在代碼段中看到的頂級div元素。因此,在data-row-num的每個div中都有另一個包含僱員名稱的div,我如何過濾行以返回包含僱員姓名的後代div的行 – Bluejuice
感謝您收集括號,我將其刪除但它仍然無法正常工作 – Bluejuice