【发布时间】:2020-09-07 20:43:35
【问题描述】:
在以下网站上:https://hepa.hu/hirek I'm waiting for this piece to appear。 这是 javascript 生成的,所以我开始在 C# 中使用 Selenium。我编写了以下代码,等待元素出现:
driver.Url = "https://hepa.hu/hirek";
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
IWebElement firstResult = wait.Until(e => e.FindElement(By.XPath("//body/app-root/app-base/section/div/app-news/section/div[2]/div[4]/a[1]/app-news-card/div/div[2]/h3")));
(Xpath 是从节点本身复制的) 代码有效,只要它真的等待元素出现,但是当我尝试访问里面的文本(firstResult.Text)时,它只给出“”,而不是里面的实际文本。 The text is inside the h3 tags。我也一直在使用 HtmlAgilityPack,在那里,当我找到我需要的节点时,我可以使用 InnerHtml 标签访问里面的文本,但据我所知,Selenium 中没有这样的东西。
另外需要注意的是,当我查看驱动的PageSource属性时,可以看到里面有h3标签,里面也可以看到需要的文字。
有什么想法吗?提前致谢。
【问题讨论】:
标签: c# selenium web-scraping