Python 缩进错误导致截图失败:IndentationError: expected an indented block
Python 缩进错误导致截图失败:IndentationError: expected an indented block/n/n在使用 Python 进行网页截图时,经常会遇到缩进错误,导致代码无法正常执行。常见的错误提示是 IndentationError: expected an indented block,这表明代码的缩进结构不正确。/n/n错误示例:/n/npython/ntry:/n print('正在截图,请稍等...')/n sleep(2)/n/n # 获取页面大小/n if browser.capabilities['browserName'] == 'firefox':/n page_width = browser.execute_script('return document.body.scrollWidth')/n page_height = browser.execute_script('return document.body.scrollHeight')/n else:/n page_rect = browser.execute_cdp_cmd('Page.getLayoutMetrics', {})/n page_width = page_rect['contentSize']['width']/n page_height = page_rect['contentSize']['height']/n/n # 截图配置/n screenshot_config = {/n 'quality': 80,/n 'format': 'png',/n 'clip': {/n 'width': page_width,/n 'height': page_height,/n 'x': 0,/n 'y': 0,/n 'scale': 1/n }}/n/n # 截图/n if browser.capabilities['browserName'] == 'firefox':/n result = browser.execute_script('return canvas.toDataURL('image/png');')/n with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:/n f.write(base64.b64decode(result.split(',')[1]))/n else:/n result = browser.execute_cdp_cmd('Page.captureScreenshot', screenshot_config)/n with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:/n f.write(base64.b64decode(result['data']))/n/n print('截图成功')/n print('===============================')/nexcept Exception as e:/n print('截图失败')/n print(e)/n print('===============================')/n/n/n错误原因:/n/ntry 语句块下应该使用缩进,但是代码中没有进行缩进,导致 Python 解释器无法识别代码块的范围,从而引发错误。/n/n解决方案:/n/n在 try 语句块下添加一个缩进,将所有属于 try 语句块的代码都缩进四个空格或一个 Tab 键。/n/n正确示例:/n/npython/ntry:/n print('正在截图,请稍等...')/n sleep(2)/n/n # 获取页面大小/n if browser.capabilities['browserName'] == 'firefox':/n page_width = browser.execute_script('return document.body.scrollWidth')/n page_height = browser.execute_script('return document.body.scrollHeight')/n else:/n page_rect = browser.execute_cdp_cmd('Page.getLayoutMetrics', {})/n page_width = page_rect['contentSize']['width']/n page_height = page_rect['contentSize']['height']/n/n # 截图配置/n screenshot_config = {/n 'quality': 80,/n 'format': 'png',/n 'clip': {/n 'width': page_width,/n 'height': page_height,/n 'x': 0,/n 'y': 0,/n 'scale': 1/n }/n }/n/n # 截图/n if browser.capabilities['browserName'] == 'firefox':/n result = browser.execute_script('return canvas.toDataURL('image/png');')/n with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:/n f.write(base64.b64decode(result.split(',')[1]))/n else:/n result = browser.execute_cdp_cmd('Page.captureScreenshot', screenshot_config)/n with open('{}/{}.png'.format(keyword_info_item['name'], keyword), 'wb') as f:/n f.write(base64.b64decode(result['data']))/n/n print('截图成功')/n print('===============================')/nexcept Exception as e:/n print('截图失败')/n print(e)/n print('===============================')/n/n/n优化建议:/n/n* 确保代码的缩进结构一致。建议使用四个空格作为缩进,避免使用 Tab 键,因为不同编辑器对 Tab 键的解析可能不同。/n* 在代码中添加注释,说明代码的功能和逻辑,方便阅读和维护。/n* 避免使用过长的代码行,可以使用换行符 / 将代码分成多行。/n/n总结:/n/nIndentationError: expected an indented block 错误通常是由于代码缩进不正确导致的。通过添加适当的缩进,可以解决此问题。建议在编写 Python 代码时,注意代码的缩进结构,并使用代码编辑器提供的缩进功能,以确保代码的正确性和可读性。/n/n希望本文能够帮助您解决 Python 缩进错误,并提升代码的质量。
原文地址: https://www.cveoy.top/t/topic/m2Of 著作权归作者所有。请勿转载和采集!