【问题标题】:Selenium - button click downloads but doesn't redirect to linked pageSelenium - 按钮点击下载但不重定向到链接页面
【发布时间】:2019-10-08 13:44:18
【问题描述】:

我正在尝试点击网页弹出窗口中的“下载”按钮。当我使用 Selenium(Chrome;Python)单击它时,我知道它正在工作,因为文件已下载。

但是,除了下载文件的 javascript 之外,该按钮还有一个 href=#,一旦单击该按钮,它就会重定向到底层页面(没有弹出窗口)。当我使用鼠标在实时会话中单击它时,行为是正确的。但是在 Selenium 中使用 [button].click() 时,不会发生重定向 - 只有文件下载。有什么提示或建议吗?


编辑:代码 sn-ps

这里是按钮 html:

<div class="buttons popup__buttons">
      <a href="#" class="button js-downloadLink">
            Download
      </a>
</div>

还有我的硒代码:

driver.find_element_by_class_name('button.js-downloadLink').click()

【问题讨论】:

  • 你能提供你的按钮的 html sn-p 和一些上下文吗?
  • @AlexeyR。上面在编辑后的帖子中提供
  • 您在类名的开头缺少前导 .。应该有driver.find_element_by_class_name('.button.js-downloadLink').click()。请检查修复是否会有所帮助。
  • 我尝试添加句点,但它的表现和以前一样,没有变化,我仍然有问题,很遗憾。

标签: javascript python selenium google-chrome screen-scraping


【解决方案1】:

我的建议是打开 chrome dev-tools 并调查 javascript 触发的操作。您可能需要使用 selenium 运行一个函数,该函数由于某种原因在使用 Selenium 时没有调用,或者检查 id 是否正确加载。

如果您需要帮助分享您要抓取的网站,我们可以看看。

每个网站都是一个新世界!希望对您有所帮助。

编辑:

仍然不知道你的 sn-p。试试开发工具。更准确地说是点击()的事件监听器:

【讨论】:

  • 感谢您的提示!我无法使用开发人员工具解决任何问题,但在我的问题中发布了代码 sn-ps,如果它有帮助的话。我无法共享该网站,因为它的访问权限受到限制,因此很遗憾,您将无法看到我正在处理的页面。
猜你喜欢
  • 2019-04-10
  • 1970-01-01
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多