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

如何浏览selenium(scrapy)中的javascript链接,然后返回原始页面?

丌官博文
2023-03-14

我在处理包含javascript链接的页面时遇到了麻烦。问题是页面包含的城市列表中有javascript在他们的链接。现在我必须一个接一个地导航到每个链接,抓取一些信息,然后回到列表,移动到下一个城市,继续抓取。

问题是在使用selenium web驱动程序点击javascript链接后,当我导航回列表页面时,响应丢失,我得到错误如下:

selenium.common.exceptions.NoSuchElementException: Message: u'Unable to locate element:     {"method":"id","selector":"some_id"}'

有办法吗?

共有1个答案

司空思聪
2023-03-14

通常,javascript只处理ajax请求的帖子。你只需要理解javascript在做什么,并在Scrapy中重新实现同样的逻辑,而不需要Selenium。为此,只需使用Chrome开发工具或Firefox Firebug。如果你需要在javascript中设置的变量,我想你可以使用javascript引擎,比如v8(在pyV8这样的包装器中)。

你有我们可以帮助你的例子吗?

 类似资料:
  • 我试图找到一个网页上的所有超链接,链接文本也在列表中,页脚名称。我想点击链接,等待(稍后会放入验证检查),导航回来,然后点击allLinksHrefs列表中的下一个链接(其中应该包含所有必要的网页链接元素)。目前,我能够找到第一个链接,单击它,导航回来,但随后测试失败。我使用硒WebDriver与C#。提前感谢。

  • 通过javascript生成的链接移动另一个页面后,要在selenium的网络驱动程序中保留原始元素似乎是不可能或非常复杂的。我该怎么做呢? 我试图使用以下组件为特定的网页做网页抓取: Ubuntu 18.04。1 LTS Python 3.6。1 Selenium(Python包)3.141。0 谷歌浏览器71.0。3578.98 铬驱动2.45。615279 该网页包含“href”为javas

  • 问题内容: 我是否可以附加功能作为按钮的单击事件,以使浏览器返回上一页? 问题答案: 在您的输入元素中添加

  • 我正在使用selenium webdriver与Firefox。

  • 我正试图从一个通过“下一步”按钮链接了多个页面的站点中获取数据 后续页面URL与上一页面URL没有对应关系 (在这种情况下,修改路径可以解决问题) 这就是我打算做的- 1.从初始URL开始 2.提取信息 3.点击NEXT 重复2次和3次 具体来说,我想知道如何在单击时获取新页面URL 这是我到目前为止想出来的 任何帮助都将不胜感激

  • 我正在做一个网络抓取,我可以在一个特定的链接中获取信息,但是我想通过去那个页面上每个项目的链接来自动化这个过程,然后获取信息回到主页,然后点击下面项目的链接。 网址是:https://ca.iherb.com/c/Vitamins?noi=48 我想点击“加州黄金营养、黄金C、维生素C、1000毫克、60粒蔬菜胶囊”项目,然后点击底部的“查看所有评论”。然后返回主页并单击以下项目的链接。 我使用此