python - EOL 字符串文字使用 webdriver selenium 创建保存位置
问题描述
因此,正如标题所示,我正在尝试在 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 - 请帮助我理解我做错了什么。
解决方案
要创建具有今天 日期的文件夹并保存该文件夹的一些屏幕截图,您可以使用以下基于定位器策略的解决方案:
代码块:
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))
输出:
- 该程序将创建一个包含今天日期的子目录。
- 所有屏幕截图都将以不同的名称保存。
浏览器快照:
推荐阅读
- reactjs - 如何在其点击事件上使用一个复选框发送两个参数?
- java - 房间:LiveData 一对多关系
- python - Pandas 按分类间隔过滤
- r - ompr:solve_model 表达式中是否有错误?
- java - Selenium、Java 和 Angular:元素不可交互
- html - 无法选择图像以使其在小屏幕设备上变小
- python - anaconda python:创建 qtdesigner 快捷方式?
- python - 如何阻止 QSvgWidget 生成它自己的窗口
- c++ - ClangAST Consumer:如何在 FunctionDecl 中遍历语句、VarDecl、BinaryOperator?
- javascript - 检查变量是否存在