python+selenium 把整个网页截图 长截图

直接调用

url地址:
url_str = ‘http://www.cq.gov.cn’
图片保存地址:
pic_name = r’qwq.png’
代码:

import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def get_image(url, pic_name):
    """
    #设置chrome开启的模式,headless就是无界面模式
    # 创建一个参数对象,用来控制chrome以无界面模式打开
    :param url:             获取获取网页的地址
    :param pic_name:        需要保存的文件名或路径+文件名
    :return:
    """
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    # 创建浏览器对象
    driver = webdriver.Chrome(executable_path='./chromedriver', chrome_options=chrome_options)

    # 打开网页
    driver.get(url)
    # driver.maximize_window()
    # 加延时 防止未加载完就截图
    time.sleep(1)

    # 用js获取页面的宽高,如果有其他需要用js的部分也可以用这个方法
    width = driver.execute_script("return document.documentElement.scrollWidth")

    height = driver.execute_script("return document.documentElement.scrollHeight")

    # 获取页面宽度及其宽度
    print(width,height)

    # 将浏览器的宽高设置成刚刚获取的宽高
    driver.set_window_size(width, height)

    time.sleep(1)

    # 截图并关掉浏览器
    driver.get_screenshot_as_file(pic_name)

    driver.quit()


# 你输入的参数
url_str = 'http://www.cq.gov.cn'

pic_name = r'qwq.png'

get_image(url_str, pic_name)

### 回答1: Python Selenium可以通过以下代码实现截图: ```python from selenium import webdriver # 创建浏览器对象 browser = webdriver.Chrome() # 打开网页 browser.get('https://www.baidu.com') # 截图并保存 browser.save_screenshot('baidu.png') # 关闭浏览器 browser.quit() ``` 这段代码会打开Chrome浏览器,访问百度首页,然后截图并保存为`baidu.png`文件,最后关闭浏览器。 ### 回答2: PythonSelenium库可以用来进行浏览器自动化操作,并且可以通过该库对网页进行截图操作。 在使用Selenium的过程中,我们需要先安装Selenium库,并且还需要下载对应浏览器的驱动程序。例如,如果我们要使用Chrome浏览器进行操作,就需要下载Chrome浏览器驱动。 接下来,我们可以使用Selenium库提供的WebDriver类来创建一个驱动实例,它可以控制我们所选择的浏览器。 在实例化驱动之后,我们可以使用该驱动实例的get()方法来指定要访问的网页URL。 当我们需要对网页进行截图时,可以使用驱动实例的截图方法,如save_screenshot()。该方法的参数是要保存截图图片的路径。 具体来说,我们可以使用以下代码进行截图操作: ```python from selenium import webdriver # 创建驱动实例 driver = webdriver.Chrome('/path/to/chromedriver') # 访问网页 driver.get('https://www.example.com') # 进行截图 driver.save_screenshot('/path/to/screenshot.png') # 关闭浏览器驱动实例 driver.quit() ``` 执行完以上代码后,就会在指定路径下生成一个名为screenshot.png的截图图片。 需要注意的是,在进行截图之前,我们需要确保指定的路径是正确的,并且有足够的权限来保存截图图片。 总之,使用PythonSelenium库进行截图操作非常简单,只需要几行代码就可以完成。 ### 回答3: 使用PythonSelenium库来进行截图非常简单。首先,需要安装Selenium库,可以使用pip install selenium命令进行安装。 接下来,需要下载并安装相应浏览器的驱动程序,例如Chrome浏览器需要下载ChromeDriver。将ChromeDriver.exe文件保存到系统的PATH环境变量中,或将其放置在Python安装目录下。 在Python脚本中,首先需要导入Selenium的webdriver模块,并创建一个浏览器对象,这里以Chrome浏览器为例: ```python from selenium import webdriver # 创建Chrome浏览器对象 driver = webdriver.Chrome() ``` 接下来,可以使用浏览器对象的get()方法打开需要截图网页: ```python # 打开网页 driver.get("https://www.example.com") ``` 可以根据需要进行一系列操作,例如点击链接或按钮,填写表单等。 如果要对整个网页进行截图,可以使用浏览器对象的get_screenshot_as_file()方法将截图保存为文件,需要提供保存路径和文件名: ```python # 对整个网页进行截图 driver.get_screenshot_as_file("screenshot.png") ``` 如果只需要截取某个特定区域的截图,可以通过定位元素,然后使用元素对象的screenshot_as_file()方法进行截图: ```python # 定位元素 element = driver.find_element_by_css_selector("#element_id") # 对指定元素进行截图 element.screenshot_as_file("element_screenshot.png") ``` 最后,记得关闭浏览器对象以释放资源: ```python # 关闭浏览器 driver.quit() ``` 通过以上步骤,就可以使用PythonSelenium库来进行截图了。截图功能在网页自动化测试、数据采集等场景中非常有用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值