当前位置: 首页 > 知识库问答 >
问题:

添加与Firefox webdriver一起工作但不在PhantomJS中的cookie

马祺
2023-03-14

我有一个带有cookie的pickle,它是通过以下命令创建的

def doLogin(driver):
    #do login stuff
    pickle.dump(driver.get_cookies(), open("cookies.pkl", "wb"))

我有获得cookie的示例代码

driver = webdriver.PhantomJS()
self.doLogin(driver)
driver.delete_all_cookies()
for cookie in pickle.load(open("cookies.pkl", "rb")):
    driver.add_cookie(cookie)

这是已知的PhantomJS问题吗?

共有1个答案

南宫泓
2023-03-14

PhantomJS驱动程序似乎不支持某些键/值。为了克服这个问题,我将使用execute_script注入最重要的内容:

def save_cookies(driver, file_path):
    LINE = "document.cookie = '{name}={value}; path={path}; domain={domain}; expires={expires}';\n"
    with open(file_path, 'w') as file :
        for cookie in driver.get_cookies() :
            file.write(LINE.format(**cookie))

def load_cookies(driver, file_path):
    with open(file_path, 'r') as file:
        driver.execute_script(file.read())


from selenium import webdriver

driver = webdriver.PhantomJS()

# load the domain
driver.get("https://stackoverflow.com/users/login")

# save the cookies to a file
save_cookies(driver, r"cookies.js")

# delete all the cookies
driver.delete_all_cookies()

# load the cookies from the file
load_cookies(driver, r"cookies.js")
 类似资料:
  • 我想通过聊天Id获得用户和组之间的聊天次数。但查询没有给出聊天次数。它是空白的。我在堆栈溢出(Laravel Elount groupBy()和count,Laravel get count of results Basin groupBy)中也看到过类似的问题,并使用了那些标记为正确但仍然没有得到所需结果的查询。 我使用以下查询: 我的表格结构如下: 结果是这样的: )

  • 我实现的片段如下: 保存父片段的活动。使用getSupportFragmentManager()添加父片段。 在父片段中,我使用getChildFragmentManager()和事务来替换子片段。 我再一次调用儿童片段,以此类推...... 除了共享过渡,一切都很好。 如果我使用getFragmentManager()而不是getChildFragmentManager(),则存在共享转换,但没

  • 在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。

  • 我试图使用SSL运行一个Jetty(v9)服务器(这样访问只能通过HTTPS进行)。使用普通HTTP时,一切都运行良好。然后我更改了我的launcher类,所以它看起来如下所示: 我还运行这个来生成一个密钥库文件: 正如我所说的,在我将新的SSL配置代码添加到服务器启动器类之前,一切都很好,但我不明白哪里出了问题。

  • 当我使用片段“replace”时,新的共享元素转换可以工作,但我似乎无法使它在片段“add”中工作。我在这两种情况下使用相同的容器。 更多详情: 活动-布局- 在活动启动时,我将Fragment1添加到屏幕上 在Fragment1布局中视图的单击事件上- } 我在两个片段的布局中都有这个图像视图 现在,如果我使用添加第二个片段,但是如果我使用。如何使其与add()一起工作?有可能吗?

  • 我正在使用mulestudio。我希望使用mule studio在jms队列中插入值。但是我已经做了所有需要的更改,但是队列没有在activemq中创建,我使用的是activemq-5.8.0版本,即使我添加了jar文件,我的配置也是 我已按照文档执行,但无法获得预期的队列我的错误日志是 你会帮助这一点,以及如何消费来自骡子给我任何例子文件的信息