猿问

如何修复execute_script在执行多个javascript语句后不返回任何值

我想使用 execute_script 将字符串返回到我的 python 脚本,但我没有从我的 execute_script 函数中获取任何字符串

我尝试了我的代码的变体,但它不起作用。Console.logging 我在 chrome 开发工具控制台中的代码有效。

这是我正在尝试执行的 Python 代码。我希望 javascript 变量里面有一个字符串,但它是空的。

javaScript = driver.execute_script('proposedProRata = document.querySelectorAll("#ProposedPercent")' + 'proposedProRataStr = ""' + 'for (let i = 0, element; element = proposedProRata[i++];) { proposedProRataStr = proposedProRataStr + element.value + " " }' + 'proposedProRataStr')

我希望返回一个字符串proposedProRataStr,这样我就可以在我的Python代码中使用它,但是我没有得到任何返回的字符串,也没有错误消息


跃然一笑
浏览 307回答 1
1回答

慕田峪7331174

这是遍历所有匹配元素然后返回值的简单方法。javascript = '''var proposedProRataStr = ""; document.querySelectorAll("#ProposedPercent").forEach(function(el) {proposedProRataStr = proposedProRataStr + el.value + " "});return proposedProRataStr; '''jsOutput = driver.execute(javascript)print(jsOutput)在浏览器控制台中编写工作代码后,只需将整个 javascript 包装进去'''(这样您就不必担心处理双引号。
随时随地看视频慕课网APP

相关分类

Python
我要回答