Html 在Google电子表格中使用ImportXML和XPath刮取元素

Html 在Google电子表格中使用ImportXML和XPath刮取元素,html,xml,excel,xpath,google-sheets,Html,Xml,Excel,Xpath,Google Sheets,下午好 我正在尝试将网站HTML中的两个文本之间的文本拉入excel或google工作表。如果A1中的URL在他们的网站上有此文本,我只想在b1单元中输入“BookNow” 以下是网址: 源代码如下所示: <div class="_58gm"> <div id="pages_actions_pagelet" data-referrer="pages_actions_pagelet"> <span class="_4dlt" id="u_0_3l"> <b

下午好

我正在尝试将网站HTML中的两个文本之间的文本拉入excel或google工作表。如果A1中的URL在他们的网站上有此文本,我只想在b1单元中输入“BookNow”

以下是网址:

源代码如下所示:

<div class="_58gm">
<div id="pages_actions_pagelet" data-referrer="pages_actions_pagelet">
<span class="_4dlt" id="u_0_3l">
<button data-reactroot="" data-testid="ccta_viewer_unit_testid" class="_4jy0 _4jy4 _517h _9c6 _42ft" type="submit" value="1">
<i alt="" class="_3-8_ img sp_bfiwgCAMT7U sx_3b8ce3"></i>
<!-- react-text: 3 -->
Book Now
<!-- /react-text -->
</button>
</span>

现在预订

任何帮助都将不胜感激。谢谢大家!

因此,从字面上提取book now的react文本要困难得多——但好消息是,您可以构造一个if语句来处理该文本以及导入xml,另一个好消息是,book now按钮的span标记仅在源代码中,如果它们确实有可用的选项。(与此相反,它只是页面模板的一部分并始终存在)

当该标记不存在时,导入xml返回#N/A,因此使用该标记作为条件,您可以尝试:

我用于测试的三个URL(我放在A1、A2、A3中)是:


第二个url是三个url中唯一一个没有“立即预订”选项的url-公式如下:

=IF(ISNA(IMPORTXML(A1,"//*[@class='_4dlt']")),"","Book Now")
遗憾的是,arrayformula不能与importxml一起使用,因此您必须将其复制下来,但这仍然很容易做到


您尝试了什么?您收到错误消息了吗?谢谢您的询问!K所以尝试过:=IMPORTXML(A1,“//div[@class='li']///a”)IE.document.getElementsByTagName(“按钮”)=IMPORTXML(A1,“//div[@class=”\u 58gm]/i[@class=”\u 3-8img sp\u bfiwgCAMT7U sx\u 3b8ce3']///text”)OMG你太棒了,是的,是的,这很有道理。因此,基本上就是找到来源并确定book这个词现在是否与所请求的标记一致。我还想说,你非常擅长描述错误和解决方案。再次感谢@阿杰林格:谢谢:)如果你有机会,你能“接受”这个答案作为你问题的答案吗?嗨,奥里尔,我真的很感谢你的帮助,我接受了这个答案,不用担心。我希望你们能帮助我理解为什么,“所以现在从字面上提取这本书的react文本要困难得多”。我宁愿学习也不愿为自己做。。。。。谢谢