【发布时间】:2019-01-22 02:21:44
【问题描述】:
下面是我从 JSON 文件中读取的代码。打开几个 URL 并截图。
问题是;首先它打开 Edge,然后打开 IE 的第二个项目。我做错了什么?
import json
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
caps = DesiredCapabilities.EDGE
caps['ignoreProtectedModeSettings'] = True
with open('path\sites.json', encoding='utf-8') as s:
data = json.loads(s.read())
for site in data['sites']:
driver = webdriver.Edge('C:\\Python37-32\\drivers\\MicrosoftWebDriver.exe', capabilities=caps)
driver.get(data['sites'][site])
driver.get_screenshot_as_file('screenshot path')
driver.close()
【问题讨论】:
-
作为一种解决方法,尝试将
driver定义移出for循环,以便每个脚本仅创建一次 WebDriver 实例。提示:也将driver.close()替换为driver.quit() -
@Andersson:试过了。还是一样。我之前用 IE 运行过这个相同的脚本,它运行良好。现在唯一的区别是浏览器更改和驱动程序。
标签: python-3.x selenium selenium-webdriver automated-tests microsoft-edge