Error when trying to read rows from a HTML table (0x800A01B6) Topic is solved

Get help with using AutoHotkey (v2 or newer) and its commands and hotkeys
MysticDude
Posts: 15
Joined: 02 Jan 2020, 05:32

Error when trying to read rows from a HTML table (0x800A01B6)

04 Jan 2024, 02:20

Hello! I'm really stuck on this one and have no idea why. This is my first time trying to read a .html file with ComObject

I'm able to retrieve the table and see its .innerText, but it throws an error as soon as I try to access .Rows

Code: Select all

HTML := 'test.html'

Document := ComObject('HTMLfile')
Document.Write('<meta http-equiv="X-UA-Compatible" content="IE=edge">') ; querySelector does not work without this...?
Document.Write(FileRead(HTML))

Table := Document.querySelector('body > table:nth-child(6) > tbody')
Rows := Table.Rows

OutputDebug(Type(Table)) ; HTMLTableSection
OutputDebug(Type(Rows)) ; ComObject
OutputDebug(Rows.Length) ; 48
OutputDebug(Type(Rows[1])) ; Error: (0x800A01B6)

Here is the .html file I'm working with:

Code: Select all

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
	<TITLE>classification</TITLE>
	<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
	<STYLE type="text/css">
	</STYLE>
</HEAD>
<BODY>
	<p style="font-size : 120%"><B>GP Bikes, 2024/1/4 - 13:03</B></p>
	<p style="font-size : 100%">Mugello Circuit v2.2, 5244 m</p>
	<p style="font-size : 140%"><B>Testing Day Classification</B></p>
	<p style="font-size : 120%">In Progress: 02:57</p>
	<BR>
	<TABLE style="border-top : 2px solid black; border-collapse : collapse">
	<COLGROUP>
		<COL width="50" align="left">
		<COL width="50" align="left">
		<COL width="200" align="left">
		<COL width="200" align="left">
		<COL width="100" align="right">
		<COL width="80" align="right">
		<COL width="90" align="right">
		<COL width="100" align="right">
	</COLGROUP>
	<THEAD style="font-size : 100%">
	<TR>
	<TD style="border-bottom: 1px solid black">Pos</TD>
	<TD style="border-bottom: 1px solid black">Num</TD>
	<TD style="border-bottom: 1px solid black">Rider</TD>
	<TD style="border-bottom: 1px solid black">Bike</TD>
	<TD align="right" style="border-bottom: 1px solid black">Time</TD>
	<TD align="right" style="border-bottom: 1px solid black">Lap</TD>
	<TD align="right" style="border-bottom: 1px solid black">Gap</TD>
	<TD align="right" style="border-bottom: 1px solid black">Speed</TD>
	</TR>
	</THEAD>
	<TBODY style="font-size : 100%">
	<TR style="color : black">
	<TD>1</TD>
	<TD>5</TD>
	<TD>Supraman</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'46.583</TD>
	<TD align="right">21/32</TD>
	<TD align="right"></TD>
	<TD align="right">333.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>2</TD>
	<TD>33</TD>
	<TD>Supraman</TD>
	<TD>ZX-10RR</TD>
	<TD align="right">1'47.233</TD>
	<TD align="right">10/20</TD>
	<TD align="right">0.649</TD>
	<TD align="right">320.1 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>3</TD>
	<TD>17</TD>
	<TD>jjlosboliches149</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'47.266</TD>
	<TD align="right">28/42</TD>
	<TD align="right">0.682</TD>
	<TD align="right">329.4 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>4</TD>
	<TD>85</TD>
	<TD>[TPS]dOcMonsta</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'47.443</TD>
	<TD align="right">17/27</TD>
	<TD align="right">0.859</TD>
	<TD align="right">325.2 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>5</TD>
	<TD>32</TD>
	<TD>Supraman</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'47.569</TD>
	<TD align="right">10/19</TD>
	<TD align="right">0.985</TD>
	<TD align="right">321.8 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>6</TD>
	<TD>36</TD>
	<TD>Adrianrodriguez58</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'47.625</TD>
	<TD align="right">12/23</TD>
	<TD align="right">1.041</TD>
	<TD align="right">325.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>7</TD>
	<TD>97</TD>
	<TD>Supraman</TD>
	<TD>R1M</TD>
	<TD align="right">1'47.637</TD>
	<TD align="right">17/17</TD>
	<TD align="right">1.053</TD>
	<TD align="right">319.8 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>8</TD>
	<TD>82</TD>
	<TD>Billy Jones</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'48.083</TD>
	<TD align="right">15/35</TD>
	<TD align="right">1.499</TD>
	<TD align="right">324.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>9</TD>
	<TD>30</TD>
	<TD>Adrianrodriguez58</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'48.621</TD>
	<TD align="right">14/15</TD>
	<TD align="right">2.037</TD>
	<TD align="right">300.1 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>10</TD>
	<TD>11</TD>
	<TD>Carrasco</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'48.633</TD>
	<TD align="right">21/43</TD>
	<TD align="right">2.049</TD>
	<TD align="right">316.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>11</TD>
	<TD>8</TD>
	<TD>Lorenzo Summa</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'48.638</TD>
	<TD align="right">6/22</TD>
	<TD align="right">2.054</TD>
	<TD align="right">304.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>12</TD>
	<TD>64</TD>
	<TD>tavella65</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'48.655</TD>
	<TD align="right">9/10</TD>
	<TD align="right">2.071</TD>
	<TD align="right">318.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>13</TD>
	<TD>88</TD>
	<TD>maarkuus88</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'48.920</TD>
	<TD align="right">22/32</TD>
	<TD align="right">2.336</TD>
	<TD align="right">327.5 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>14</TD>
	<TD>3</TD>
	<TD>Satya</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'48.952</TD>
	<TD align="right">12/12</TD>
	<TD align="right">2.368</TD>
	<TD align="right">315.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>15</TD>
	<TD>28</TD>
	<TD>Alex Fernandez</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'49.003</TD>
	<TD align="right">2/3</TD>
	<TD align="right">2.419</TD>
	<TD align="right">308.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>16</TD>
	<TD>69</TD>
	<TD>boill</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'49.436</TD>
	<TD align="right">6/8</TD>
	<TD align="right">2.852</TD>
	<TD align="right">319.5 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>17</TD>
	<TD>27</TD>
	<TD>KW</TD>
	<TD>R1M</TD>
	<TD align="right">1'49.476</TD>
	<TD align="right">23/30</TD>
	<TD align="right">2.892</TD>
	<TD align="right">307.5 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>18</TD>
	<TD>37</TD>
	<TD>franguijarro2002</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'49.583</TD>
	<TD align="right">4/32</TD>
	<TD align="right">2.999</TD>
	<TD align="right">326.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>19</TD>
	<TD>44</TD>
	<TD>Alex</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'50.050</TD>
	<TD align="right">3/9</TD>
	<TD align="right">3.466</TD>
	<TD align="right">330.3 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>20</TD>
	<TD>89</TD>
	<TD>JorgeNsr</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'50.324</TD>
	<TD align="right">9/15</TD>
	<TD align="right">3.740</TD>
	<TD align="right">296.7 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>21</TD>
	<TD>48</TD>
	<TD>Bunta Fujiwara</TD>
	<TD>R1M</TD>
	<TD align="right">1'50.499</TD>
	<TD align="right">9/11</TD>
	<TD align="right">3.915</TD>
	<TD align="right">304.4 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>22</TD>
	<TD>76</TD>
	<TD>DamienVTEC</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'50.587</TD>
	<TD align="right">4/5</TD>
	<TD align="right">4.003</TD>
	<TD align="right">301.2 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>23</TD>
	<TD>58</TD>
	<TD>Sic_Chris</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'50.608</TD>
	<TD align="right">7/10</TD>
	<TD align="right">4.024</TD>
	<TD align="right">309.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>24</TD>
	<TD>26</TD>
	<TD>Alextorres_26</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'51.104</TD>
	<TD align="right">26/28</TD>
	<TD align="right">4.520</TD>
	<TD align="right">310.4 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>25</TD>
	<TD>14</TD>
	<TD>intrepid-2015</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">1'51.586</TD>
	<TD align="right">6/17</TD>
	<TD align="right">5.002</TD>
	<TD align="right">307.4 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>26</TD>
	<TD>24</TD>
	<TD>Lickie!</TD>
	<TD>R1M</TD>
	<TD align="right">1'51.906</TD>
	<TD align="right">4/4</TD>
	<TD align="right">5.322</TD>
	<TD align="right">313.1 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>27</TD>
	<TD>92</TD>
	<TD>Lopes92</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'51.926</TD>
	<TD align="right">3/3</TD>
	<TD align="right">5.342</TD>
	<TD align="right">321.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>28</TD>
	<TD>67</TD>
	<TD>Tony-sc</TD>
	<TD>R1M</TD>
	<TD align="right">1'52.076</TD>
	<TD align="right">9/9</TD>
	<TD align="right">5.492</TD>
	<TD align="right">304.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>29</TD>
	<TD>73</TD>
	<TD>Tom</TD>
	<TD>R1M</TD>
	<TD align="right">1'52.201</TD>
	<TD align="right">4/4</TD>
	<TD align="right">5.617</TD>
	<TD align="right">288.7 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>30</TD>
	<TD>19</TD>
	<TD>hOthOz</TD>
	<TD>R1M</TD>
	<TD align="right">1'52.337</TD>
	<TD align="right">17/24</TD>
	<TD align="right">5.753</TD>
	<TD align="right">303.5 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>31</TD>
	<TD>51</TD>
	<TD>Groovy</TD>
	<TD>R1M</TD>
	<TD align="right">1'52.703</TD>
	<TD align="right">3/3</TD>
	<TD align="right">6.119</TD>
	<TD align="right">308.7 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>32</TD>
	<TD>23</TD>
	<TD>dwiputra</TD>
	<TD>R1M</TD>
	<TD align="right">1'53.804</TD>
	<TD align="right">4/6</TD>
	<TD align="right">7.220</TD>
	<TD align="right">308.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>33</TD>
	<TD>99</TD>
	<TD>TOO slow</TD>
	<TD>R1M</TD>
	<TD align="right">1'54.935</TD>
	<TD align="right">8/14</TD>
	<TD align="right">8.351</TD>
	<TD align="right">319.1 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>34</TD>
	<TD>2</TD>
	<TD>MysticDude</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">1'55.847</TD>
	<TD align="right">12/57</TD>
	<TD align="right">9.263</TD>
	<TD align="right">313.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>35</TD>
	<TD>70</TD>
	<TD>TOMBSTONE</TD>
	<TD>R1M</TD>
	<TD align="right">1'58.595</TD>
	<TD align="right">7/7</TD>
	<TD align="right">12.011</TD>
	<TD align="right">286.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>36</TD>
	<TD>12</TD>
	<TD>nicolasruth72</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">1'59.274</TD>
	<TD align="right">3/3</TD>
	<TD align="right">12.690</TD>
	<TD align="right">268.3 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>37</TD>
	<TD>31</TD>
	<TD>Groovy</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'00.042</TD>
	<TD align="right">1/1</TD>
	<TD align="right">13.458</TD>
	<TD align="right">245.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>38</TD>
	<TD>94</TD>
	<TD>Carlos_mr</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">2'00.434</TD>
	<TD align="right">7/13</TD>
	<TD align="right">13.850</TD>
	<TD align="right">297.3 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>39</TD>
	<TD>25</TD>
	<TD>aripfrizky</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">2'01.306</TD>
	<TD align="right">1/2</TD>
	<TD align="right">14.722</TD>
	<TD align="right">225.3 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>40</TD>
	<TD>21</TD>
	<TD>Smuggy</TD>
	<TD>R1M</TD>
	<TD align="right">2'01.499</TD>
	<TD align="right">1/2</TD>
	<TD align="right">14.915</TD>
	<TD align="right">251.4 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>41</TD>
	<TD>84</TD>
	<TD>Tom</TD>
	<TD>CBR1000 RR-R</TD>
	<TD align="right">2'05.503</TD>
	<TD align="right">1/4</TD>
	<TD align="right">18.919</TD>
	<TD align="right">276.0 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>42</TD>
	<TD>6</TD>
	<TD>Sharco</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'06.843</TD>
	<TD align="right">7/27</TD>
	<TD align="right">20.259</TD>
	<TD align="right">261.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>43</TD>
	<TD>16</TD>
	<TD>Julian_g50</TD>
	<TD>Ducati V4R</TD>
	<TD align="right">2'11.044</TD>
	<TD align="right">3/9</TD>
	<TD align="right">24.460</TD>
	<TD align="right">248.6 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>44</TD>
	<TD>91</TD>
	<TD>Bunta Fujiwara</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'18.482</TD>
	<TD align="right">1/1</TD>
	<TD align="right">31.898</TD>
	<TD align="right">232.8 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>45</TD>
	<TD>42</TD>
	<TD>SoyLuquii</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'28.368</TD>
	<TD align="right">4/6</TD>
	<TD align="right">41.784</TD>
	<TD align="right">237.2 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>46</TD>
	<TD>61</TD>
	<TD>1ST Day / Luquii</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'28.503</TD>
	<TD align="right">2/5</TD>
	<TD align="right">41.919</TD>
	<TD align="right">194.9 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>47</TD>
	<TD>29</TD>
	<TD>X1mk_Z3</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'30.465</TD>
	<TD align="right">1/4</TD>
	<TD align="right">43.881</TD>
	<TD align="right">267.7 km/h</TD>
	</TR>
	<TR style="color : black">
	<TD>48</TD>
	<TD>68</TD>
	<TD>Julian_g50</TD>
	<TD>BMW M1000RR</TD>
	<TD align="right">2'30.585</TD>
	<TD align="right">1/1</TD>
	<TD align="right">44.001</TD>
	<TD align="right">232.2 km/h</TD>
	</TR>
	</TBODY>
	</TABLE>
	<BR>
	<TABLE style="border : 2px solid black; border-collapse : collapse">
	<COLGROUP>
		<COL width="100" align="left">
		<COL width="100" align="left">
	</COLGROUP>
	<TBODY style="font-size : 100%">
	<TR style="color : black">
	<TD>Conditions:</TD>
	<TD>Clear</TD>
	</TR>
	<TR style="color : black">
	<TD>Air:</TD>
	<TD>23 C</TD>
	</TR>
	<TR style="color : black">
	<TD>Ground:</TD>
	<TD>37 C</TD>
	</TR>
	</TBODY>
	</TABLE>
</BODY>
</HTML>
coffee
Posts: 133
Joined: 01 Apr 2017, 07:55

Re: Error when trying to read rows from a HTML table (0x800A01B6)  Topic is solved

04 Jan 2024, 03:31

quick answer until i can come back
square brackets are an autohotkey abstraction provided by the __item property paired with __enum for "for" looping. com objs don't (or may not?) have this.
you have to do Rows.1 and dynamically Rows.%index%

Code: Select all

loop Rows.length
 msgbox( Rows.%(a_index - 1)%.innerHTML )
MysticDude
Posts: 15
Joined: 02 Jan 2020, 05:32

Re: Error when trying to read rows from a HTML table (0x800A01B6)

04 Jan 2024, 03:56

That was it, coffee.

I ran into this exact problem when dynamically accessing object properties.. didn't even think to try that for indexed array values.

Thank you!
just me
Posts: 9542
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Error when trying to read rows from a HTML table (0x800A01B6)

04 Jan 2024, 05:17

HTMLCollection and Nodelist objects have item() methods. So you also can use:

Code: Select all

Loop Rows.length
	MsgBox(Rows.item(A_Index - 1).innerHTML)

Return to “Ask for Help (v2)”

Who is online

Users browsing this forum: FanaticGuru, teadrinker and 44 guests