我将脚本放在页面上,但是出现此错误?
selenium.common.exceptions.TimeoutException:消息:脚本超时:30秒内未收到结果
driver.set_script_timeout()
没有帮助
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(chrome_options=options)
driver.get("https://www.apple.com/")
driver.set_script_timeout()
driver.execute_async_script("""const script = document.createElement('script'); script.id = '__table_iac'; script.dataset.shortCode = '97sqKm'; script.src = 'https://concierge.table.co/static/widget/inappchat.js';; document.body.appendChild(script);""")
time.sleep(5)
答案 0 :(得分:0)
您的异步脚本不返回任何内容。
Selenium期望异步脚本完成后触发回调。如果30秒后仍未恢复任何内容,则脚本超时会启动并引发错误。
与其尝试作为异步脚本运行,不如尝试将其作为标准内联脚本运行。
driver.execute_script("""const script = document.createElement('script'); script.id = '__table_iac'; script.dataset.shortCode = '97sqKm'; script.src = 'https://concierge.table.co/static/widget/inappchat.js';; document.body.appendChild(script);""")