我有一个安全的网站,我需要从某些特定页面中抓取数据。该页面应严格在IE上打开。我从selenium打开了登录页面并将句柄传递给了webdriver。然后用户浏览该网站的各种页面和弹出窗口。计时器运行并检查特定页面是否打开。正在使用以下代码进行检查。
var windowIterator = driver.WindowHandles;
foreach (var windowHandle in windowIterator)
{
popup = driver.SwitchTo().Window(windowHandle);
if (popup.Title == PageTitle) //PageTitle is string value and is saved in App Config
{
doWork = true; //Scraping would be started on this page
break;
}
}
它非常适合测试环境中的其他网站。在实时环境中,弹出页面显示会话过期消息并询问用户凭据。一旦给出,那么它工作正常。我不知道正在抓取的网站架构。
任何机构都可以告诉我为什么会这样,以及出路是什么。
答案 0 :(得分:0)
在页面更新/更改之前,可能需要花费太多时间来废弃数据。
我相信网站会为您的浏览器提供一个会话的厨师。检查网站为您提供的所有Cookie。可能这可以通过硒编辑cookie来解决。如果没有 - 您可以在比cookie的生命周期更短的时间内刷新页面,并向服务器显示"用户在这里" =)