最近搜索

selenium driver 可以根据id拿到iframe 然后跳进这个iframe

浏览:677
管理员 2020-03-17 02:02

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&amp;RecordsPerPage=20&amp;QueryID=0&amp;ID=&amp;turnpage=1&amp;tpagemode=L&amp;dbPrefix=SCDB&amp;Fields=&amp;DisplayMode=listmode&amp;PageName=ASP.brief_default_result_aspx&amp;isinEn=1&amp;" 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窗口的问题,还是因为别的原因


image.png







联系站长

站长微信:xiaomao0055

站长QQ:14496453