【问题标题】:TypeError: 'bytes' object is not callable, while doing element.screenshot_as_pngTypeError:'bytes' 对象不可调用,同时执行 element.screenshot_as_png
【发布时间】:2021-03-31 02:45:48
【问题描述】:

目标:在 selenium [Python3] 中保存特定元素的屏幕截图

代码:


from selenium import webdriver 
import pyautogui as pog
import time

options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
browser = webdriver.Chrome(options=options)

print("Hello There!")
url = "https://uk.louisvuitton.com/eng-gb/products/trunk-wallet-nvprod2530051v"
browser.get(url)

time.sleep(5)
AAC = browser.find_element_by_xpath("/html/body/div[1]/div/div[2]/div/form/ul/li[3]/button")
AAC.screenshot_as_png('elemenent.png')

错误:

    AAC.screenshot_as_png('elemenent.png')
TypeError: 'bytes' object is not callable

我该如何解决这个问题?

【问题讨论】:

    标签: javascript python html selenium typeerror


    【解决方案1】:

    代替

    AAC.screenshot_as_png('elemenent.png')
    

    试试这个:

    screenshot_as_bytes = AAC.screenshot_as_png
    with open('elemenent.png', 'wb') as f:
        f.write(screenshot_as_bytes)
    

    请看下面我的解释:

    AAC.screenshot_as_png 已经是以字节为单位的屏幕截图,您所要做的就是保存它。如果尝试像AAC.screenshot_as_png() 那样调用它,那么将尝试在字节上执行,因此错误:TypeError: 'bytes' object is not callable

    【讨论】:

      【解决方案2】:

      这种截屏方法对我有用:

      browser.save_screenshot("d:/Images/1.png")
      

      【讨论】:

        猜你喜欢
        • 2015-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-11
        • 2018-12-25
        • 2021-04-15
        • 2011-10-01
        • 2020-11-10
        相关资源
        最近更新 更多