当前位置: 首页 > 知识库问答 >
问题:

如何在AngularJS网站上用Python中的Selenium从动态表中迭代和保存信息

计阳泽
2023-03-14

我正试图利用AngularJS从一个网站上的动态表中提取数据。我正在用Selenium刮网站。

目前,我的问题是我无法识别动态表,因为没有标签。此外,行的ID还具有字符串形式的动态名称,这使问题更加复杂。感谢任何帮助。

我尝试通过ID/XPath进行搜索,并将它们添加到元素列表中。没有成功。

我想要的信息包含在一个具有多个参数(收集日期)的动态生成的海量表中:

<tctable id="tweb_EPVisitNumber_List_1">
<tccol layout-xs="column" class="layout-xs-column">
<div>
<span id="web_EPVisitNumber_List_1-row-0-item-CollectionDate-label" class="componentTableItemLabel hide-gt-xs ng-binding ng-scope">Collection Date
</span>
<span class="componentTableItem ng-scope">
<span id="web_EPVisitNumber_List_1-row-0-item-CollectionDate" class="ng-binding">17/01/2019
</span>
</span>
</div>
</tccol>
id="web_EPVisitNumber_List_1-row-1-item-CollectionDate" 
id="web_EPVisitNumber_List_1-row-2-item-CollectionDate"
id="web_EPVisitNumber_List_1-row-3-item-CollectionDate"

共有1个答案

戴博
2023-03-14

您必须找到元素的一些公共属性,并基于它构造一个定位器。例如,在给定的示例中,所有感兴趣的span的ID中都有“collectionDate”,但没有“-label”(列标题中有)。
因此具有该属性的xpath将是:

//span[contains(@id, "CollectionDate") and not contains(@id, "-label")]

另一个观察--所有“有趣的”都是div中的span,它位于tccol中,具有id;第一个列标题除外:

//tccol/div/span[@id and not position()=1]
 类似资料:
  • 所以,我在寻找一种不用Selenium就可以刮动态网站的方法。任何建议都有帮助。 谢了!

  • 问题内容: 编程新手,并弄清楚了如何使用Selenium导航到我需要去的地方。我想立即解析数据,但不确定从哪里开始。有人可以握我的手几秒钟,并朝正确的方向指点我吗? 任何帮助表示赞赏- 问题答案: 假设您在要解析的页面上,Selenium将源HTML存储在驱动程序的属性中。这样,你会加载到如下:

  • 问题内容: 我正在尝试从报纸(纽约时间)收集日期,标题和内容。 我有日期和标题,但没有完整的文章。下面是我用来抓取日期和标题的代码。 除了日期,标题外,我还想抓全文。 问题答案: 有可能的。您必须获取该文章的每个链接并将其拉出。我在下面添加了它,还整理了一下文章,因为有多余的空格,当您将它们全部合并在一起时,文本中没有空格。 输出:

  • 我试图直接从交易平台plus500获得AMZN指数市场的销售价格值,该值持续变化,因此我必须使用selenium。我用的代码是这个: 源代码中的html如下: 每次值发生变化时,我都需要清除它(在本例中是126,28)。如果需要,我为你创建了一个虚拟的Plus500账户:用户名“myrandomcode@gmail.com”,密码:“MyRandomCode87”。

  • 问题内容: 这里, 这里有张桌子。我的目标是提取表并将其保存到csv文件。我写了一个代码: 我从这里迷路了。有人可以帮忙吗?谢谢! 问题答案: 因此,本质上您想解析出文件以获取文件中的元素。您可以将BeautifulSoup或lxml用于此任务。 您已经有使用的解决方案。我将使用发布解决方案:

  • 所以,我有一个按钮,在黑暗和光明模式之间切换(我的网站默认是黑暗的),它可以工作,但现在我需要它保持在任何切换状态,在多个页面选择。我怀疑这和会话存储有关。也不想使用jQuery。我可以在代码中添加什么来实现这一点呢? 我有五个页面都链接到了id为“dark”的styles.css,然后在JS中我引用了第二个样式表light.css或JS中的“light”,所以我要切换样式表。所有五个页面的页脚都