selenium driver 可以根据id拿到iframe 然后跳进这个iframe
注:知网的内容,隐藏在iframe里面。所以html源码 并没有数据,而是在子iframe窗口里面
def zhiwang2(): driver = webdriver.Chrome() driver.get('https://kns.cnki.net/kns/brief/default_result.aspx') # 打开url input = driver.find_element_by_css_selector('input.rekeyword') input.send_keys('xxxx') btn = driver.find_element_by_css_selector('input#btnSearch') btn.click() time.sleep(4) iframe = driver.find_element_by_id('iframeResult') driver = driver.switch_to.frame(iframe) time.sleep(3) #输出iframe里面的html代码 #print(driver.page_source) #jie_xi_html(driver.page_source) # <a href="?curpage=3&RecordsPerPage=20&QueryID=0&ID=&turnpage=1&tpagemode=L&dbPrefix=SCDB&Fields=&DisplayMode=listmode&PageName=ASP.brief_default_result_aspx&isinEn=1&" title="键盘的“← →”可以实现快速翻页">下一页</a> #点击下一页 next_page = driver.find_element_by_partial_link_text('下一页') print(next_page.text) btn.click() driver.switch_to_window(driver.window_handles[1])
但是点击 下一页报错,
我在想是不是因为在iframe窗口的问题,还是因为别的原因
站长微信:xiaomao0055
站长QQ:14496453