簡體   English   中英

C#Selenium xpath找不到內部div節點

[英]C# Selenium xpath cannot find the inner div node

我試圖訪問第二個內部div節點。 結構如下:

<div class = "bPageBlock brandSecondaryBrd bDetailBlock secondaryPalette" id="ep">
    <div class ="pbHeader"></div>
    <div class ="pbBody"></div>

通過ChroPath附加,使用下面的xpath可以匹配“ pbHeader”類

"html/body/div[4]/div[1]"嘗試使用相同的邏輯訪問pbBody類時,未指向該div節點。

"html/body/div[4]/div[2]"

我必須訪問pbBody div類中的元素。

對於這樣簡單的事情,應該使用CSS選擇器。

#ep > div.pbHeader
#ep > div.pbBody

如果您在問題中省略了一些HTML,則可能需要刪除>指示子項,例如

#ep div.pbHeader
#ep div.pbBody

但是...如果必須使用XPath,則可以使用以下內容

//[@id='ep']/div[@class='pbBody']

您應該使用相對xpath代替絕對 xpath ,如下所示:

driver.FindElement(By.XPath("//div[@class='bPageBlock brandSecondaryBrd bDetailBlock secondaryPalette' and @id='ep']//div[@class='pbBody']"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM