当前位置: 首页 > 面试题库 >

获取在Python中使用JavaScript生成的页面

顾淳
2023-03-14
问题内容

我想下载由生成的网页Javascript,并将其存储到Python代码中的字符串变量中。当您单击按钮时,将生成该页面。

如果我知道使用的结果URL,urllib2则不是这种情况。

谢谢


问题答案:

您可以使用Selenium Webdriver:

#!/usr/bin/env python
from contextlib import closing
from selenium.webdriver import Firefox # pip install selenium
from selenium.webdriver.support.ui import WebDriverWait

# use firefox to get page with javascript generated content
with closing(Firefox()) as browser:
     browser.get(url)
     button = browser.find_element_by_name('button')
     button.click()
     # wait for the page to load
     WebDriverWait(browser, timeout=10).until(
         lambda x: x.find_element_by_id('someId_that_must_be_on_new_page'))
     # store it to string variable
     page_source = browser.page_source
print(page_source)


 类似资料:
  • 问题内容: 我需要用python抓取网站。我使用urlib模块获取了源html代码,但是我还需要抓取由javascript函数(包含在html源代码中)生成的html代码。该功能在站点中的作用是,当您按下按钮时,它会输出一些html代码。如何使用python代码“按”此按钮?可以帮助我吗?我用firebug捕获了POST请求,但是当我尝试在url上传递它时,出现403错误。有什么建议么? 问题答案

  • 问题内容: 我有一个webBrowser,在Visual Studio中有一个标签,基本上我想做的是从另一个网页中抓取一个部分。 我尝试使用WebClient.DownloadString和WebClient.DownloadFile,在JavaScript加载内容之前,它们都为我提供了网页的源代码。我的下一个想法是使用WebBrowser工具,并在页面加载后仅调用webBrowser.Docum

  • 问题内容: 我正在尝试开发一个简单的网页抓取工具。我想提取没有代码的文本。我实现了这个目标,但是我发现在某些加载了的页面中,我没有获得良好的结果。 例如,如果一些代码添加了一些文本,则看不到它,因为当我调用 我得到的原始文本没有添加文本(因为在客户端执行了)。 因此,我正在寻找一些解决此问题的想法。 问题答案: 一旦安装了,请确保二进制文件在当前路径中可用: 例 举个例子,我用以下HTML代码创建

  • 我有一个网站,我想自动执行一些操作,但页面是由2个JavaScript文件生成的,在html中定义如下: 运行时。js大约有70行代码和应用程序。js大约有4万行。。。我不知道如何阅读代码,因为我不懂任何JavaScript,我的Pyton知识也不过是一点点而已;) 我想分享这个特定的网站,但这个页面是在登录之后的。因此,我已经设法使用两种不同的方法进入页面,但在JS生成的下一个页面中找不到按下按

  • 问题内容: 有没有一种语法更简洁的方式编写以下内容? 生成器应该具有一个表达式,该表达式充当列表,但在功能上与上述代码相同,这似乎是很自然的。 问题答案: 一种方法是使用

  • 问题内容: 我的问题是:如何从网抓取数据,但是直到您单击例如“ Danhsáchchậm”,该数据才显示。我已经非常认真地尝试,当您单击“ Danhsáchchậm”时,这是onclick事件,它触发了一些javascript函数js函数之一是从服务器获取数据并将其插入到标签/占位符中,并在这时,您可以使用firefox之类的方法检查数据,是的,数据会在网页上显示给用户/查看者。因此,我们又该如何