首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中执行javascript会导致KeyError

在python中执行javascript会导致KeyError
EN

Stack Overflow用户
提问于 2019-12-19 18:38:47
回答 2查看 172关注 0票数 0

我在python selenium中尝试执行脚本时遇到了困难……我正在尝试检查某些元素是否在指定的父元素中,如果是,它应该返回true。

下面是我的代码:

代码语言:javascript
运行
复制
    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)) 

当我运行它时,它在控制台中给出了以下输出:

代码语言:javascript
运行
复制
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方法,硬编码参数),但是都不起作用,我开始放弃了……

EN

Stack Overflow用户

发布于 2021-02-03 17:48:32

我遇到了类似的问题,我删除了.format(),并求助于老式的%格式化,如下所示

代码语言:javascript
运行
复制
stuff_in_string = "Shepherd %s is %d years old." % (shepherd, age)

print(stuff_in_string)

希望这对您的情况有所帮助,我相信.format会查找{}方括号,这会导致它将其中的任何内容视为变量

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59407951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档