Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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 从网站向HTA获取数据/文本_Javascript_Vbscript_Web Scraping_Hta - Fatal编程技术网

Javascript 从网站向HTA获取数据/文本

Javascript 从网站向HTA获取数据/文本,javascript,vbscript,web-scraping,hta,Javascript,Vbscript,Web Scraping,Hta,我正在编写一个HTA,我可以根据公司注册号从外部网站上查找公司数据(公司名称、实体类型等) 由于我在HTA中编程,我正在努力寻找一个受支持的解决方案。我在JavaScript、jQuery和VBScript中尝试了不同的脚本,但在HTA中似乎都不起作用(有些脚本在JSFIDLE中起作用,但在HTA中不起作用) 我有以下URL:。 (请注意8位代码,即注册号) 我希望有以下案文: Novo Nordisk A/S Virksomhedsform: Aktieselskab 希望有人知道我如何获得

我正在编写一个HTA,我可以根据公司注册号从外部网站上查找公司数据(公司名称、实体类型等)

由于我在HTA中编程,我正在努力寻找一个受支持的解决方案。我在JavaScript、jQuery和VBScript中尝试了不同的脚本,但在HTA中似乎都不起作用(有些脚本在JSFIDLE中起作用,但在HTA中不起作用)

我有以下URL:。 (请注意8位代码,即注册号)

我希望有以下案文:

Novo Nordisk A/S
Virksomhedsform: Aktieselskab
希望有人知道我如何获得所要求的数据

更新#2:以下是我的完整HTA代码:

<html>
<HTA:APPLICATION ID="Company Data" APPLICATIONNAME="Company Data" BORDER="thick" CAPTION="yes" ICON=images\icon.ico MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="yes" SINGLEINSTANCE="no" SYSMENU="yes" RESIZE="yes" contextMenu=no></HTA:APPLICATION> 
<head>
<title>Regnskabskommetar</title>
<link href="include/stylesheet.css" rel="stylesheet" type="text/css" />
<link rel="SHORTCUT ICON" href="images/icon.ico"/>
<script type="text/javascript" charset="utf-8" src="include/jquery-1.7.min.js"></script>
<script type="text/javascript" charset="utf-8" src="include/underscore-min.js"></script>
<script type="text/javascript" charset="utf-8" src="include/autoNumeric-1.9.18.js"></script>
<script type="text/javascript" charset="utf-8" src="include/addFormat.js"></script>

<script>
function init()
{
var input = document.getElementById("cvr_nr").focus();
}
</script>

<script language="vbscript">
Set fso = CreateObject("Scripting.FileSystemObject")
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = false
ie.Navigate("https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=24256790")

Dim dteWait 
dteWait = DateAdd("s", 1, Now())
Do Until (Now() > dteWait)
Loop

Set Table = ie.document.getElementsByClassName("table stamdata")
For x = 0 to (Table.length)-1
    Data = Data & Table(x).innerText
Next
ie.Quit()
MyFile = "DataLog.txt"
If fso.FileExists(MyFile) Then 
    fso.DeleteFile(MyFile)
End If

WriteTextFile Data, MyFile, -1
set ws = createObject("wscript.shell")
ws.run MyFile

Sub WriteTextFile(sContent, sPath, lFormat)
        ' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
        With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 8, True, lFormat)
            .WriteLine sContent
            .Close
        End With
End Sub
</script>

<script type="text/javascript">
function reloadpage() {
    location.reload();
}
</script>

<script language="vbscript">
resizeto (screen.width)/2,(screen.height - 40) // 40 is the height of task bar
moveto (screen.width)/2,0
</script>

</head>
<body onLoad="init()" language="vbscript">

<table width="100%" border="0" cellpadding="0" cellspacing="0" style='margin-bottom: 5px;' id="sticky_navigation">
<tr>
<td height="40" id="top_bar" style="padding-left: 10px;">Company Data</td>
<td height="40" id="top_bar" align="right"><a href="include/Help.pdf" class="help">Help</a></td>
<td width="10" id="top_bar" align="right" style="padding-right: 10px;"><a href="#" tabindex="-1" onClick="reloadpage()"><img src="images/footer-logo.png" border="0" title="Opdatér" /></a></td>
</tr>
</table>

<table border="0" width="98%" cellpadding="0" cellspacing="0" style="margin-left: 10 px">
<tr>
<td width="40%">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="110">
<b>CVR.</b><br>
<input name="cvr_nr" id="cvr_nr" title="CVR - Kan angives med og uden 00 foran" onchange="" style="text-align: left" size="12" type="number" required></td>
</td>
<td valign="top">
<b >Virksomhedsnavn</b><br>
<input style="text-align: left" value="Novo Nordisk A/S" size="50"></input>


<td valign="top">
<b>Virksomhedsform</b><br>
<input style="text-align: left" value="Aktieselskab" size="22" disabled></input>

</tr>
</table>

<div id="include_facility" class="switchcontent1"></div>

<br>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td style="padding-top:5px">
<hr>
<button id="Scraper" onclick="Scraper()" name="Scraper" tabindex="1">Get company</button>
<hr>
</td
</tr>
</table>
<br>
<div id="content1"></div>

</body>
</html>

雷根斯卡博梅塔
函数init()
{
var input=document.getElementById(“cvr_nr”).focus();
}
设置fso=CreateObject(“Scripting.FileSystemObject”)
设置ie=CreateObject(“InternetExplorer.Application”)
可见=假
例如,导航(“https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=24256790")
暗淡的DTWAIT
dteWait=DateAdd(“s”,1,Now())
直到(现在()>dteWait)
环
Set Table=ie.document.getElementsByClassName(“Table stamdata”)
对于x=0到(表长度)-1
数据=数据和表格(x)。innerText
下一个
即退出
MyFile=“DataLog.txt”
如果存在fso.files(MyFile),则
删除文件(MyFile)
如果结束
WriteTextFile数据,MyFile,-1
设置ws=createObject(“wscript.shell”)
ws.runmyfile
子WriteTextFile(scocontent、sPath、lFormat)
'lFormat-2-系统默认值,-1-Unicode,0-ASCII
使用CreateObject(“Scripting.FileSystemObject”).OpenTextFile(sPath,8,True,lFormat)
.WriteLine Scocontent
.结束
以
端接头
函数重载页面(){
location.reload();
}
resizeto(screen.width)/2,(screen.height-40)//40是任务栏的高度
移动到(屏幕宽度)/2,0
公司数据
CVR.
Virksomhedsnavn
Virksomhedsform


结伴

由于未提供任何代码,请尝试使用以下vbscript:

Set fso = CreateObject("Scripting.FileSystemObject")
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = false
ie.Navigate("https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=24256790")
  Do until ie.ReadyState = 4
     WScript.Sleep 50
  Loop

Set Table = ie.document.getElementsByClassName("table stamdata")
For x = 0 to (Table.length)-1
    Data = Data & Table(x).innerText
Next
ie.Quit()
MyFile = "DataLog.txt"
If fso.FileExists(MyFile) Then 
    fso.DeleteFile(MyFile)
End If

WriteTextFile Data, MyFile, -1
set ws = createObject("wscript.shell")
ws.run MyFile

Sub WriteTextFile(sContent, sPath, lFormat)
        ' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
        With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 8, True, lFormat)
            .WriteLine sContent
            .Close
        End With
End Sub

由于未提供任何代码,请尝试使用以下vbscript:

Set fso = CreateObject("Scripting.FileSystemObject")
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = false
ie.Navigate("https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=24256790")
  Do until ie.ReadyState = 4
     WScript.Sleep 50
  Loop

Set Table = ie.document.getElementsByClassName("table stamdata")
For x = 0 to (Table.length)-1
    Data = Data & Table(x).innerText
Next
ie.Quit()
MyFile = "DataLog.txt"
If fso.FileExists(MyFile) Then 
    fso.DeleteFile(MyFile)
End If

WriteTextFile Data, MyFile, -1
set ws = createObject("wscript.shell")
ws.run MyFile

Sub WriteTextFile(sContent, sPath, lFormat)
        ' lFormat -2 - System default, -1 - Unicode, 0 - ASCII
        With CreateObject("Scripting.FileSystemObject").OpenTextFile(sPath, 8, True, lFormat)
            .WriteLine sContent
            .Close
        End With
End Sub

请共享您尝试的代码并描述问题。“寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中复制所需的最短代码。没有明确问题说明的问题对其他读者没有用处。请参阅:。”很可能您无法实现这一点,HTA也不例外,同样的限制也适用。您需要一台服务器来访问跨源网页。请检查答案:,。感谢@omegastripes提供的链接。我将尝试调整您的脚本,看看是否可以在HTA中运行。请共享您尝试的代码并描述问题。“寻求调试帮助的问题”(“为什么此代码不工作?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。“很可能你无法实现这一点,HTA不是例外,同样的限制也适用。您需要一台服务器来访问跨源网页。请检查答案:,。感谢@omegastripes提供的链接。我将尝试调整您的脚本,看看是否可以使其在HTA中工作。我已通过替换WScript Sleep脚本使上述脚本工作,因为该脚本不工作
Dim dteWait dteWait=DateAdd(“s”,1,Now())执行直到(Now()>dteWait)循环
。现在我只需要从HTA中排序和打印的.txt文件中获取数据。@Sparcx您能回答您的问题并添加修改后的HTA文件的全部代码吗?我已通过替换WScript Sleep脚本使上述脚本正常工作,因为它不起作用
Dim dteWait dteWait=DateAdd(“s”,1,Now())执行直到(Now()>dteWait)循环
。现在,我只需要从HTA中排序和打印的.txt文件中获取数据。@Sparcx能否回答您的问题并添加修改后的HTA文件的全部代码?