【问题标题】:EOL String Literal Creating Save Location with webdriver seleniumEOL 字符串文字使用 webdriver selenium 创建保存位置
【发布时间】:2019-11-13 21:59:27
【问题描述】:

正如标题所示,我正在尝试在 Python 3 中完成几件事。

第 1 步 - 我想运行一个脚本来创建一个带有今天日期的文件夹。我目前正在这样做:

import time
from selenium import webdriver
import os
from datetime import date

today = date.today()

os.mkdir('path/to/Screenshots' + ' ' + today.strftime('%m' + '-' + '%d' + '-' + '%Y'))

第 2 步让 webdriver 打开一个指向链接的 chrome 窗口。我目前正在这样做

driver = webdriver.Chrome('/path/to/chromedriver')
driver.get('http://www.google.com/');

第 3 步我遇到的问题 - 我正在尝试让 webdriver 截取屏幕截图并将其放入我在第 1 步中创建的文件夹中。不,我认为我会这样做:

driver.save_screenshot('path/to/Screenshots' + ' ' + today.strftime('%m' + '-' + '%d' + '-' + '%Y')/image.png')

这给了我错误 SyntaxError: EOL while scanning string literal - 请帮助我理解我做错了什么。

【问题讨论】:

    标签: python selenium date selenium-webdriver webdriver


    【解决方案1】:

    试试:

    driver.save_screenshot('path/to/Screenshots' + ' ' + today.strftime('%m-%d-%Y') + '/image.png')
    

    提示:

    如果您使用的是 python +3.6,f-Strings 将通过使用更简洁的语法帮助您避免此类错误,即:

    import time
    td = time.strftime('%m-%d-%Y')
    driver.save_screenshot(f'/path/to/Screenshots/{td}/image.png')
    # /path/to/Screenshots/11-13-2019/image.png
    

    演示:

    https://trinket.io/python3/c25a00b29a

    【讨论】:

      【解决方案2】:

      要使用今天的 日期 创建一个文件夹并保存该文件夹的一些屏幕截图,您可以使用以下基于Locator Strategy 的解决方案:

      • 代码块:

        import os
        from datetime import date
        from selenium import webdriver
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support.ui import WebDriverWait
        from selenium.webdriver.support import expected_conditions as EC
        
        datetoday = date.today()
        os.mkdir(str(datetoday))
        options = webdriver.ChromeOptions()
        options.add_argument("start-maximized")
        options.add_experimental_option("excludeSwitches", ["enable-automation"])
        options.add_experimental_option('useAutomationExtension', False)
        driver = webdriver.Chrome(options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
        driver.get("http://www.google.com")
        for i in range(1,5):
            WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, "q"))).send_keys("DaveDoesDev")
            driver.save_screenshot("{}/image{}.png".format(datetoday, i))
        
      • 输出:

        • 此程序将创建一个包含今天日期的子目录。
        • 所有屏幕截图都将以不同的名称保存。
      • 浏览器快照:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-28
        • 2021-01-18
        • 2017-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多