在selenium中使用循环截取屏幕截图

时间:2017-04-27 18:37:05

标签: python python-2.7 selenium selenium-webdriver

我有一个循环,它接受查询并返回生成的所有搜索结果。大部分工作都是使用Selenium完成的。每次运行查询时,页面都会刷新结果。虽然我可以显示结果,但我想知道是否有一种方法可以使用查询的名称保存结果的屏幕截图。这就是我到目前为止所做的:

    try:
    driver.switch_to.default_content()
    driver.switch_to_frame("content_area")
    driver.switch_to_frame("list")
    driver.find_element_by_class_name('results')
    driver.find_element_by_class_name('results-con')

    html = driver.page_source
    soup = BeautifulSoup(html)
    Hits = soup.find_all('div', class_="resultlist-entry no-ope-entry")
    for i in Hits:
        print "Query:", q, "Hit:", i.text.strip()
        savename = i + '.png'
        driver.save_screenshot(savename) 

    if not Hits:
        print "Query:", q, "@ NO HITS!!"
        savename = i + '.png'
        driver.save_screenshot(savename) 
    time.sleep(3)
    driver.back()
except:
    pass

上面的代码用于获取查询和显示匹配,但是,它不会截取任何屏幕截图?我究竟做错了什么?是否可以在循环中为“i”截取屏幕截图?

0 个答案:

没有答案