python - WebDriverException:未处理的检查器错误,代码为“-3200”
问题描述
我目前正在开发一个应用程序(python/django/redis)来跟踪和记录农场谷物的移动。
我的主应用程序运行良好,我现在正试图让我的最后一页正常工作。
该页面的目标是让用户在可以访问网络的情况下将其加载到他的三星标签上,然后去现场收集一些数据,这些数据会在 localStorage 中注册。
完成后,他返回网络并按下加载按钮。当按下按钮时,它会发送一个 post 请求,告诉视图它需要从 localStorage 收集数据并将其放入 Redis 键中。
这是视图的代码:
def creationField(request):
if request.method == 'POST':
driver = webdriver.Chrome()
url='XXX.X.X.XX:XXXX/XXXXXXX/XXXXXXX'
driver.get(url)
storage = LocalStorage(driver)
for i in range(1,50) :
keyCubage = 'Wagon_'+ str(i) + '_cubageWagon'
keyLimite = 'Wagon_'+ str(i) + '_limiteWagon'
keyCiterne = 'Wagon_'+ str(i) + '_numCiterne'
keyPBM = 'Wagon_'+ str(i) + '_pbmWagon'
keyTar = 'Wagon_'+ str(i) + '_tarWagon'
cubageWagon = storage.get(keyCubage)
limiteWagon = storage.get(keyLimite)
numCiterne = storage.get(keyCiterne)
pbmWagon = storage.get(keyPBM)
tarWagon = storage.get(keyTar)
if (cubageWagon == None or limiteWagon == None or numCiterne == None or pbmWagon == None or tarWagon == None):
result = "Break"
break
else:
result = "REDIS WORK"
r = redis.StrictRedis(host=settings.REDIS_AD, port=settings.REDIS_PORT, db='14')
key = 'Wagon_' + str(i)
r.hmset(key, {'Cubage': cubageWagon, 'limite': limiteWagon, 'numCiterne': numCiterne, 'pbmWagon': pbmWagon, 'tarWagon': tarWagon})
return render(request, 'creationField.html', locals())
本地存储类:
class LocalStorage:
def __init__(self, driver) :
self.driver = driver
def __len__(self):
return self.driver.execute_script("return window.localStorage.length;")
def items(self) :
return self.driver.execute_script( \
"var ls = window.localStorage, items = {}; " \
"for (var i = 0, k; i < ls.length; ++i) " \
" items[k = ls.key(i)] = ls.getItem(k); " \
"return items; ")
def keys(self) :
return self.driver.execute_script( \
"var ls = window.localStorage, keys = []; " \
"for (var i = 0; i < ls.length; ++i) " \
" keys[i] = ls.key(i); " \
"return keys; ")
def get(self, key):
return self.driver.execute_script("return window.localStorage.getItem(arguments[0]);", key)
def set(self, key, value):
self.driver.execute_script("window.localStorage.setItem(arguments[0], arguments[1]);", key, value)
def has(self, key):
return key in self.keys()
def remove(self, key):
self.driver.execute_script("window.localStorage.removeItem(arguments[0]);", key)
def clear(self):
self.driver.execute_script("window.localStorage.clear();")
def __getitem__(self, key) :
value = self.get(key)
if value is None :
raise KeyError(key)
return value
def __setitem__(self, key, value):
self.set(key, value)
def __contains__(self, key):
return key in self.keys()
def __iter__(self):
return self.items().__iter__()
def __repr__(self):
return self.items().__str__()
我很肯定本地存储不是问题,我可以从我尝试过的一些 js 中写入/读取。
我目前的问题是,当我按下加载按钮并发送帖子时,我的页面崩溃并出现以下错误:
Message: unknown error : unhandled inspector error:{"Code":"-32000", "message","Cannot navigate to invalid URL"}
如果我复制粘贴似乎对他无效的 url,它会毫无问题地加载,所以我不确定是什么使 url 对他无效?
解决方案
如果你说你的 url 是有效的并且你得到一个无效的 URL 消息试试这个:尝试将 url 存储到字符串文字中(由 r' 标记)
url = r'url_path_goes_here'
推荐阅读
- python-3.x - Python 3 Windows 安装给出包错误 ModuleNotFoundError
- r - 图像未显示 R 仪表板
- asp.net-web-api - ASP.net web api刷新JWT逻辑问题
- django - Gunicorn 无法运行服务器
- javascript - 反应合成事件在 Web 组件中不起作用
- node.js - 我正在声明一个函数,但它是不可调用的,为什么?
- android - 带有两个查询的 RecyclerView
- .htaccess - htaccess 将 http 重写为 https 并从 url 中删除子目录
- vb.net - 为什么隐式声明的变量不会出现在自动完成中?
- android - 如何使 WebView 上的后退按钮在 onBackPressed 中工作?