在 Python 中获取用 Javascript 生成的页面

IT技术 javascript python html download urllib2
2021-02-03 10:10:36

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

如果我知道我会使用的结果 URL,urllib2但事实并非如此。

谢谢

1个回答

您可以使用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)
你可以使用任何你喜欢的条件,例如,x.title == 'New Title'您可能可以通过使用适当的 Firefox 配置文件来修改用户代理。
2021-03-23 10:10:36
该方法select_option(self, selector, value)采用selector参数。我不确定这个参数应该是什么。比方说,我要点击选择用value = 100selectid = 'sel_id'name = 'sel_name'这可以用 表示CSS吗?
2021-03-24 10:10:36
WebDriverWaitsomeId_that_must_be_on_new_pageneccessary?只能用 somesleepdelayfunction来完成吗?是否可以设置用户代理字符串?
2021-03-25 10:10:36
还有一个问题。在网页上是select元素,必须选择一些东西。如果未选择任何内容,该按钮将不起作用。是否需要打开和关闭 Firefox?没有guit这个不行吗?
2021-04-10 10:10:36
这是有关如何选择 option的示例.quit()没有必要。
2021-04-10 10:10:36