我想确保两个未排序的字典列表相同,即它们具有相同的内容,即使顺序可能不同。
检查in还不够好,因为可能存在重复的字典。(例如list1 = [dict1, dict1, dict2]和list2 = [dict1, dict2, dict2])
如果是列表列表,我只需对它们进行排序:
sorted(list_of_lists1) == sorted(list_of_lists2)
但字典排序不稳定。
我可以通过将所有字典转换为元组来解决这个问题,但这似乎效率低下且蹩脚。
有没有更直接的解决办法?
尽管我没有安装 Chrome 或 Chromium,ChromeDriver 仍在我的系统上运行。根据这个名字,我认为它就像一个“汽车司机”,你仍然需要一辆车才能出发。或者可能就像产品的 API,您仍然需要该产品来调用 API 来完成某些任务。
编辑:哎呀,Chromium 终于安装好了。
selenium google-chrome webdriver selenium-chromedriver selenium-webdriver
我只在硒控制的 Firefox 弹出窗口中看到一个奇怪的“不受信任的证书”错误。很具体。为了解决这个问题,各种谷歌结果建议关闭牵线木偶,如下所示:
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
firefox_capabilities = DesiredCapabilities.FIREFOX
firefox_capabilities['marionette'] = False
driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)
这有效,但如何?Geckodriver 在 Marionette 关闭的情况下如何工作?
Marionette 是 Mozilla 的 Gecko 引擎的自动化驱动程序。
答案继续明确地说它应该失败:
“在使用 Firefox 53.x 浏览器的情况下,如果您通过 DesiredCapabilities 类将“marionette”强行设置为 false,您将观察到 UnreachableBrowserException。”
那么,这到底是怎么工作的呢?