使用selenium和Beautifulsoup在执行javascript后抓取web

使用selenium和Beautifulsoup在执行javascript后抓取web,javascript,python,selenium,beautifulsoup,web-crawler,Javascript,Python,Selenium,Beautifulsoup,Web Crawler,我想在执行javascript“单击”事件后爬网 网络如下所示: function initPage() { initCorpInfo(); var Tree = Ext.tree; var treeRoot = new Tree.TreeNode({ text: "total", id: "root", href: "javascript: viewDoc('20150515001896', '4671059', null, null, null, 'dart3.

我想在执行javascript“单击”事件后爬网

网络如下所示:

function initPage() {

initCorpInfo();

var Tree = Ext.tree;

var treeRoot = new Tree.TreeNode({
    text: "total",
    id: "root",
    href: "javascript: viewDoc('20150515001896', '4671059', null, null, null, 'dart3.xsd')"
});

    treeNode2 = new Tree.TreeNode({
        text: "4. financial statement",
        id: "17",
        cls: "text",
        listeners: {
            click: function() {viewDoc('20150515001896', '4671059', '17', '1015699', '132786',


    });
}

function viewDoc(rcpNo, dcmNo, eleId, offset, length, dtd) {

currentDocValues.rcpNo = rcpNo;
currentDocValues.dcmNo = dcmNo;
currentDocValues.eleId = eleId;
currentDocValues.offset = offset;
currentDocValues.length = length;
currentDocValues.dtd = dtd;
var params = "";
params += "?rcpNo=" + rcpNo;
params += "&dcmNo=" + dcmNo;
if (eleId != null)
    params += "&eleId=" + eleId;
if (offset != null)
    params += "&offset=" + offset;
if (length != null)
    params += "&length=" + length;
params += "&dtd=" + dtd;
document.getElementById("ifrm").src = "/report/viewer.do" + params;

}
查看来源: (点击4。재무제표 (在左栏中)

我是否可以使用selenium和beautifulsoup执行“click:function(){viewDoc('20150515001896','4671059','17','1015699','132786',”


我应该用scrapy而不是Beautifulsoup来处理javascript的函数吗?

用这种方法简单地解决了这个问题

from selenium import webdriver from bs4 import BeautifulSoup import time browser=webdriver.Firefox() browser.get("http://dart.fss.or.kr/dsaf001/main.do?rcpNo=20150515001896") soup=BeautifulSoup(browser.page_source) browser.execute_script("viewDoc('20150515001896', '4671059', '17', '1015699', '132786', 'dart3.xsd');") 从selenium导入webdriver 从bs4导入BeautifulSoup 导入时间 browser=webdriver.Firefox() browser.get(“http://dart.fss.or.kr/dsaf001/main.do?rcpNo=20150515001896") soup=BeautifulSoup(browser.page\u来源) browser.execute_脚本(“viewDoc('20150515001896','4671059','17','1015699','132786','dart3.xsd');)