我在python selenium中尝试执行脚本时遇到了困难……我正在尝试检查某些元素是否在指定的父元素中,如果是,它应该返回true。
下面是我的代码:
for box in range(len(browser.find_elements(*selector))):
result = browser.execute_script("""
var nodesArray = Array.prototype.slice.call(document.querySelectorAll(".o-boxes__item"));
if(document.querySelector("div:nth-child({}) > div > div.m-package-box__body > div:nth-child(10) > div > label") === nodesArray[{}]){
false
}else{
nodesArray[{}].contains(document.querySelector("div:nth-child({}) > div > div.m-package-box__body > div:nth-child(10) > div > label"));
}""".format(box+1, box, box, box+1))
print(str(result)) 当我运行它时,它在控制台中给出了以下输出:
nodesArray[{}].contains(document.querySelector("div:nth-child({}) > div > div.m-package-box__body > div:nth-child(10) > div > label"));
> }""".format(box+1, box, box, box+1))
E KeyError: '\n false\n '
tests/test_shopEshop.py:111: KeyError我不知道我还能做什么。我试着改变execute_script部件中的代码,试着改变字符串格式(f格式,.format方法,硬编码参数),但是都不起作用,我开始放弃了……
发布于 2021-02-03 17:48:32
我遇到了类似的问题,我删除了.format(),并求助于老式的%格式化,如下所示
stuff_in_string = "Shepherd %s is %d years old." % (shepherd, age)
print(stuff_in_string)希望这对您的情况有所帮助,我相信.format会查找{}方括号,这会导致它将其中的任何内容视为变量
https://stackoverflow.com/questions/59407951
复制相似问题