【发布时间】:2021-07-11 14:46:15
【问题描述】:
如何使用 vba 将 顶部和底部 TR-tag 之间的所有内部文本(包括此 sn-p 中的 HREF 链接)传输到 ONE excel 单元格? TR-tag 是主 TABLE-tag 下的最外层标签。使用此代码,我可以在多个单元格中传输每个 TR 或 TD 的内部文本。将内容传输到一个 Excel 单元格后,我将尝试使用字符串操作将文本部分分离并传输到不同的单元格。
Set element = html.querySelectorAll("tr") 'or td
For L = 0 To element.Length - 1
ActiveSheet.Cells(x + 2, 2) = element.Item(x).innerText
Next x
最好将每个文本行放入 Excel 单元格,但水平排列!(单元格 a、b、c...)作为一行直到下一个“TR 到 TR部分”,它必须从 Excel 中的下一行/行 (1,2,3...) 开始。 (我试图在这里建立一个适当的表格,因为 HTML 中的每条记录都包含多个内容,如下所示。)还有一个问题是每个文本都在另一个标签内:“nobr”、“b”、“p”,有些只是在“td”中。
这是他的sn-p。
<tr>
<td valign="top" align="left">
<nobr>TEXT </nobr>
</td>
<td valign="center" align="left">
<b>
<a target="_blank" href="idx.php?button=showZvg&ndd_id=2444&land_nve=lv">
<nobr>TEXT8 (Detailansicht)</nobr>
</a>
</b>
</td>
<td valign="top" align="right">
<nobr>TEXT</nobr>
</td>
</tr>
<tr>
<td valign="top" align="left">TEXT</td>
<td colspan="2" valign="center" align="left">
<b>TEXT</b>
</td>
</tr>
<tr>
<td valign="top" align="left">TEXT</td>
<td colspan="2" valign="center" align="left">
<b>
TEXT
</b>
TEXT
</td>
</tr>
<tr>
<td valign="top" align="left">
<nobr>TEXT</nobr>
</td>
<td colspan="2" valign="center" align="left">
<b>
<p>TEXT</p>
</b>
</td>
</tr>
<tr>
<td valign="top" align="left">Termin</td>
<td valign="center" align="left">TEXT</td>
</tr>
【问题讨论】:
-
通过剪贴板复制粘贴表outerHTML到Excel。 stackoverflow.com/a/51938256/6241235
-
感谢@QHARR 你是“google x”的秘密计算机科学家吗? ;-) 使用 MSXML2.XMLHTTP 复制并粘贴外部 HTML 效果很好,但现在我在一个单元格中拥有了 TABLE 标记的整个源代码内容....
-
如果你复制表格标签的outerHTML,表格应该在excel中复制,而不仅仅是在一个单元格中。旁注:有一家公司 x:x.company/projects。 Google x 无法否认或确认。您使用链接中的代码复制粘贴,即通过创建剪贴板对象。
-
你是对的,这是一个代码错误:我有
ActiveSheet.Cells(1, 1) = objCBData.GetText,但它必须是ActiveSheet.Paste。但我仍然面临同样的问题:桌子是垂直排列的!使用 queryselectorall "td" 我会得到相同的结果。我需要行中的结果,而不是列中的结果! -
你使用 selenium 用 python 打开浏览器。 stackoverflow.com/a/67044654/6241235
标签: html excel vba web-scraping css-selectors