我的資料提取的一部分是使用 XPath 來查找文本名稱。然后它在作業表中查找文本名稱以找到行號。提取另外兩個 XPath 資料并將其添加到行號。
問題是網頁包含 4 次出現相同的單詞“Duet”,因此第一次出現的文本名稱(相同的行號)被覆寫 4 次
我知道 Count 會告訴我“Duet”這個詞出現了 4 次。
有沒有辦法找到特定的 XPath 文本名稱是文本“Duet”的第 1、2、3 或 4 次出現嗎?
'Find Name
DIV_Name = .FindElementByXPath("/html/body/ui-view/main/div[1]/div[1]/ui-view/div/ui-view/div[4]/div/section/table[2]/tbody/tr[3]/td[1]").Text
TRow = Sheets("Import").Range("A:A").Find(what:=DIV_Name, LookIn:=xlValues, LookAt:=xlWhole).row
'Extract data
MyString = .FindElementByXPath("/html/body/ui-view/main/div[1]/div[1]/ui-view/div/ui-view/div[4]/div/section/table[2]/tbody/tr[3]/td[2]").Text
Sheets("Import").Range("G" & TRow) = MyString
'Extract data
MyString = .FindElementByXPath("/html/body/ui-view/main/div[1]/div[1]/ui-view/div/ui-view/div[4]/div/section/table[2]/tbody/tr[3]/td[3]").Text
Sheets("Import").Range("H" & TRow) = MyString
uj5u.com熱心網友回復:
您可以像創建 XPath
//*[text()="Duet"]
您可以傳遞索引您需要哪個出現,例如,您需要第一次出現然后傳遞
(//*[text()="Duet"])[1]
uj5u.com熱心網友回復:
計算 xPath 文本出現次數
您可以使用該findElements方法來計算出現次數。在下面的示例中,您可能需要xPath根據您的要求更改。
代碼#1:
r = .FindElementsByXPath("//*[text()='Duet']").Count
Debug.Print r
輸出#1:
4
有沒有辦法找到特定的 XPath 文本名稱是文本“Duet”的第 1、2、3 或 4 次出現嗎?
代碼#2:
For i = 1 To r
MyString = .FindElementByXPath("(//*[text()='Duet'])[" & i & "]").Text
Debug.Print MyString & " text at xPath " & i
Next i
輸出#2:
Duet text at xPath 1
Duet text at xPath 2
Duet text at xPath 3
Duet text at xPath 4
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328281.html
上一篇:確定化學式中的原子總數
