Selenium Python: delete_all_cookies() 不会删除所有存储的 cookie



有这个网站:http://justnotepad.com/在这里,我们可以编写笔记,它会将其存储在浏览器的存储中,因此如果我们再次重新加载/重新打开页面,它会恢复以前的笔记。

所以我想在同一个浏览器实例中打开这个网站 3 次,而不通过打开和关闭新选项卡来关闭它。 在关闭和打开选项卡之间执行browser.delete_all_cookies()。 但该网站仍然能够获取以前的笔记。

以下代码适用于每次加载邮件地址更改后的 http://temp-mail.org。这意味着饼干被删除了。但是不明白为什么它不适合 http://justnotepad.com/

我的完整代码:

browser = webdriver.Chrome(chrome_options=chrome_options,executable_path=cpath)
for i in range(2):
browser.get('http://justnotepad.com')
t=browser.find_element_by_xpath('//div[@id="editable_text_box"]/textarea[@name="editable_text"][@id="editable_text"]')
t.send_keys(Keys.ENTER + "This is a new line")
'''
browser.get("https://temp-mail.org")
print(len(browser.window_handles))
#print(browser.get_cookie('mail'))
eid=browser.find_element_by_xpath('//input[@id="mail"]').get_attribute('value')
print(eid)
'''
print("current:",browser.current_window_handle)
browser.execute_script("window.open('', 'new_tab')")
print(len(browser.window_handles))
next_tab=browser.window_handles[len(browser.window_handles)-1]
print(next_tab)
print(browser.title)
browser.delete_all_cookies()
#browser.delete_cookie('mail')
browser.close()
print(len(browser.window_handles))
browser.switch_to_window(next_tab)

我知道这很旧,但是就像您注入cookie并刷新页面以加载它们一样,删除也是如此。 尝试刷新页面,看看这是否有所作为。

driver.refresh()
time.sleep(seconds)  # Wait for it to load

在这种情况下,信息不会存储在 Cookie 中。它位于浏览器的本地存储中。

要显示:

  1. 浏览到 http://justnotepad.com/
  2. 打开开发工具 (F12(
  3. 使用"应用程序"选项卡
  4. 点击本地存储
  5. 点击justnotepad.com
  6. 在记事本上写一些东西。
  7. 观察键和值抽搐。
  8. 删除注释。观察键和值抽搐。

相关内容

  • 没有找到相关文章

最新更新