Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UWP Webview将网页中的链接获取到数组中_Javascript_Vb.net_Xaml_Webview_Uwp - Fatal编程技术网

Javascript UWP Webview将网页中的链接获取到数组中

Javascript UWP Webview将网页中的链接获取到数组中,javascript,vb.net,xaml,webview,uwp,Javascript,Vb.net,Xaml,Webview,Uwp,我只能在UWP赢10之前找到过时的答案。我知道怎么用老办法做,但这给我带来了麻烦 到目前为止,我已经做了如下工作,请注意,问题似乎在于VB中,它没有像我被告知的那样按标记名执行元素命令。不过,将其更改为内部HTML,它将用整个页面填充HTML变量。所以我似乎无法获得链接本身 感谢您的帮助!谢谢 XAML 只能返回脚本调用的字符串结果 返回值 当此方法返回时,脚本调用的字符串结果 因此,如果希望从网页中获取链接,则需要将所有链接放入字符串中才能返回。对于C#示例: 这里我用 [].map.call

我只能在UWP赢10之前找到过时的答案。我知道怎么用老办法做,但这给我带来了麻烦

到目前为止,我已经做了如下工作,请注意,问题似乎在于VB中,它没有像我被告知的那样按标记名执行元素命令。不过,将其更改为内部HTML,它将用整个页面填充HTML变量。所以我似乎无法获得链接本身

感谢您的帮助!谢谢

XAML

只能返回脚本调用的字符串结果

返回值

当此方法返回时,脚本调用的字符串结果

因此,如果希望从网页中获取链接,则需要将所有链接放入字符串中才能返回。对于C#示例:

这里我用

[].map.call(document.getElementsByTagName('a'), function(node){ return node.href; }).join('||');
将所有链接放入一个字符串中。您可能需要更改此JavaScript代码以实现自己的代码

在此之后,可以将字符串拆分为如下数组:

var links = html.Split(new[] { "||" }, StringSplitOptions.RemoveEmptyEntries);
虽然我使用了C#作为例子,但是VB代码应该是类似的

string html = await webview.InvokeScriptAsync("eval", new string[] { "[].map.call(document.getElementsByTagName('a'), function(node){ return node.href; }).join('||');" });
System.Diagnostics.Debug.WriteLine(html);
[].map.call(document.getElementsByTagName('a'), function(node){ return node.href; }).join('||');
var links = html.Split(new[] { "||" }, StringSplitOptions.RemoveEmptyEntries);