我试图将选项列表的值作为单个项目获取,但此代码只是将整个列表抓取到一个元素中。这是我正在使用的代码:
List<string> chapterTitles = new List<string>();
HtmlNode.ElementsFlags.Remove("option");
doc.LoadHtml(htmlContent);
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//select[@id='chap_select']/option"))
chapterTitles.Add(node.InnerText);
发生的情况是 chapterTitles 中的第一个元素具有完整的选项值集,而不是(例如)列表中有 12 个不同的条目对应于具有 12 个值的选项列表。
这是我要解析的 HTML 段:
<SELECT id=chap_select title="Chapter Navigation" Name=chapter onChange="self.location = '/s/5231611/'+ this.options[this.selectedIndex].value + '/Behind-Enemy-Lines-I-Light-Hammer';"><option value=1 selected>1. Prologue<option value=2 >2. Chapter One<option value=3 >3. Chapter Two<option value=4 >4. Chapter Three<option value=5 >5. Chapter Four<option value=6 >6. Chapter Five<option value=7 >7. Chapter Six<option value=8 >8. Chapter Seven<option value=9 >9. Chapter Eight<option value=10 >10. Chapter Nine<option value=11 >11. Chapter Ten<option value=12 >12. Chapter Eleven</select>
有什么建议么?