我正在尝试通过 URI 找到打开的网页并在其上启动 JS。我找到了一些示例并编写了简单的方法。这就是它的外观:
private void GetHtmlCode()
{
string uri = GetTargetURI();
if(!string.IsNullOrEmpty(uri))
{
IE ie = IE.AttachTo<IE>(Find.ByUrl(uri));
htmlCode = ie.Eval(JavaScriptToRun);
}
else
{
MessageBox.Show("Target page is not opened",
"Notification", MessageBoxButtons.OK);
}
}
还有一种获取 URI 的方法:
private string GetTargetURI() //проверка URL
{
Regex reg;
Match match;
foreach(SHDocVw.InternetExplorer ie in shellWindows)
{
reg = new Regex(patternURL);
match = reg.Match(ie.LocationURL.ToString());
if (!string.IsNullOrEmpty(match.Value))
{
pageURL = ie.LocationURL.ToString();
return pageURL;
}
pageURL = string.Empty;
}
return pageURL;
}
- 所以 URI 完全正确或为空。
问题IE ie = IE.AttachTo<IE>(Find.ByUrl(uri));
总是抛出
WatiN.Core.Exceptions.BrowserNotFoundException:找不到 IE 窗口匹配约束:属性“href”等于 uri“%my_target_URI%”。搜索在 '30' 秒后过期。
我用谷歌搜索了很多,但仍然没有找到任何解决方案:(有人可以帮忙吗?谢谢。