You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Selenium循环中driver.execute_script无效问题求助

解决Selenium循环内execute_script无返回结果的问题

嘿,我一眼就看出问题所在啦!你代码里的driver.execute_script(script1)确实在正常执行,但你根本没把它的返回值打印出来!

你看,在IPython控制台里,交互式环境会自动把最后一行代码的返回值输出给你;但在脚本里,除非你主动用print()去输出这个返回结果,否则控制台只会显示你手动打印的内容,也就是那些数字和script字符串。

只要修改一下循环里的代码,把execute_script的结果打印出来就行:

from selenium import webdriver
cURL = "http://google.com"
driver = webdriver.Chrome()
driver.get(cURL)
for i in range(0, 3):
    print(i)
    for x in range(0, 3):
        print(x)
        script1 = "return document.URL"
        print(script1)
        # 这里加上打印返回值的操作
        url = driver.execute_script(script1)
        print("当前页面URL:", url)

或者更简洁一点,直接把调用和打印合并:

print(driver.execute_script(script1))

这样修改后,你就能在循环里看到每次execute_script返回的页面URL了,和你在IPython里单独执行的结果完全一致。

另外给你个小提醒:如果之后你用execute_script执行更复杂的脚本(比如获取DOM元素属性、计算页面数据),都要记得主动接收或打印返回值,脚本环境不会像交互式控制台那样自动帮你输出结果哦~

内容的提问来源于stack exchange,提问作者Sanjoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:20:55