小编mbl*_*ley的帖子

检查Python中未排序字典列表的相等性

我想确保两个未排序的字典列表相同,即它们具有相同的内容,即使顺序可能不同。

检查in还不够好,因为可能存在重复的字典。(例如list1 = [dict1, dict1, dict2]list2 = [dict1, dict2, dict2]

如果是列表列表,我只需对它们进行排序:

sorted(list_of_lists1) == sorted(list_of_lists2)

但字典排序不稳定。

我可以通过将所有字典转换为元组来解决这个问题,但这似乎效率低下且蹩脚。

有没有更直接的解决办法?

python dictionary

5
推荐指数
1
解决办法
3015
查看次数

为什么 ChromeDriver 不需要 Chrome 或 Chromium?

尽管我没有安装 Chrome 或 Chromium,ChromeDriver 仍在我的系统上运行。根据这个名字,我认为它就像一个“汽车司机”,你仍然需要一辆车才能出发。或者可能就像产品的 API,您仍然需要该产品来调用 API 来完成某些任务。

编辑:哎呀,Chromium 终于安装好了。

selenium google-chrome webdriver selenium-chromedriver selenium-webdriver

5
推荐指数
1
解决办法
1万
查看次数

Geckodriver/Firefox 如何在没有 Marionette 的情况下工作?(针对 FF 53 运行 python selenium 3)

我只在硒控制的 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。”

那么,这到底是怎么工作的呢?

python firefox selenium marionette geckodriver

3
推荐指数
1
解决办法
4391
查看次数