selenium 错误(截屏时)'NoneType' 对象没有属性 'encode'

selenium error(while taking a screenshot) 'NoneType' object has no attribute 'encode'

我在 Google Cloud Platform 和 geckodriver 上使用 selenium 来截取页面截图,但是 我的 selenium 会抛出这样的错误...

get_screenshot_as_png

return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))

AttributeError: 'NoneType' object has no attribute 'encode'

我正在使用 firefox 68.xx 和 geckodriver 78(我不确定)

cap = DesiredCapabilities().FIREFOX
cap['marionette'] = True
#cap['binary'] = '/usr/local/bin/firefox'

options = Options()
#options.headless = True
options.add_argument("--headless")
options.add_argument("--no-sandbox")
options.add_argument("start-maximized")
options.add_argument("disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--disable-dev-shm-usage")


date_time  = datetime.datetime.now()
page_time = datetime.timedelta(hours = +9)
print(page_time+date_time)
page_time = page_time + date_time
page_time = page_time.strftime('%Y.%m.%d')

driver.save_screenshot(page_time+"screen.png")

提前感谢您的帮助!

好的,所以这个问题是因为您使用 . 来分隔日期。

尝试将其更改为 -

page_time.strftime('%Y-%m-%d')

希望对您有所帮助!