我在網站上有一個串列,其中存盤了部件號和訂單號。在這個串列中有不同的 div 元素,我想匯出這個串列中的每個部件號。
該串列如下所示:
<div class="spareValue">
<span class="label">OrderNumber:</span>
<span class="PartNumber">180011</span>
</div>
<div class="spareValue">
<span class="label">SparePartNumber:</span>
<span class="PartNumber">01002523</span>
</div>
如何匯出每個 OrderNumber 并將它們放入 C# 中的串列中,以便我可以使用這些值?
uj5u.com熱心網友回復:
好的,您需要屬于訂單號的每個 partnummer。這讓我找到了這個 xPath,找到里面有一個 ordernumber 的 div,而不是找到里面的 partnumber 元素。
然后找到所有(或沒有)。
最后將它們全部放在一個整潔的串列中,選擇部件號文本:
string path = "//div[@class='spareValue' and ./span[text()='OrderNumber:']]/div[@class='PartNumber']"
var elements = driver.findElements(By.XPath(path));
var listOrderNumber = elements.Select(e=>e.Text);
uj5u.com熱心網友回復:
很多方法可以做到這一點:
var spans = driver.FindElements(By.CssSelector("div.spareValue span"));
var nbrspans = spans.Count;
var Listordernumber = new List<string>();
for(int i = 0; i < nbrspans; i =2)
{
if (spans[i].GetAttribute("textContent") != "OrderNumber:") continue;
Listordernumber.Add(spans[i 1].GetAttribute("textContent"));
}
所以 Listordernumber 包含結果
如果你更喜歡 linq,你可以使用它:
string path = "//div[@class='spareValue' and ./span[text()='OrderNumber:']]/span[@class = 'PartNumber']";
var Listordernumber = driver.FindElements(By.XPath(path)).Select(s => s.GetAttribute("textContent")).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/351261.html
