【问题标题】:document.GetElementsByTagName("div") does not return childrendocument.GetElementsByTagName("div") 不返回子级
【发布时间】:2018-09-02 20:15:56
【问题描述】:

所以我有这个 html 代码:

<div class="gid-day-container">
    <div id="activityCol">
        <div id="act-01"></div>
        <div id="act-02"></div>
        <div id="act-03"></div>
    </div>
</div>

我正在使用这段代码来查看带有 div 标签的 voor html 元素:

var infoBlocks = doc.GetElementsByTagName("div");

它用grid-containter 类捕获div,它用id activityCol 捕获div,但它没有捕获id 为act-.. 的三个div。

我在 Visual Studio 中使用 c# 代码。

我似乎不明白为什么会有如此大的帮助。提前致谢!

【问题讨论】:

  • 可能是时间问题,等待几秒钟再搜索&lt;div&gt;s 以确保。
  • @Guy 是的,我也得出了这个结论,但我如何等待几秒钟?使用 Thread.Sleep();只会暂停整个程序,然后页面将无法加载。
  • Thread.Sleep() 如何停止页面加载?它只影响你的代码。把它放在doc.GetElementsByTagName("div");之前。
  • @Guy 它确实会暂停整个用户界面,这意味着页面不会加载。
  • 这没什么意义,Selenium 代码不对 UI 负责。如果您手动导航到它加载的站点,不是吗? Thread.Sleep() 只能停止你在 Visual Studio 中运行的代码。

标签: c# html


【解决方案1】:

你应该有这个:

document.getElementsByTagName("div");

不是:

document.GetElementsByTagName("div");

【讨论】:

  • 这是错误的,方法是GetElementsByTagName
  • 这是 c#,不是 JavaScript
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 2016-12-22
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多