selenium.common.exceptions.TimeoutException:消息:脚本超时:30秒内未收到结果

时间:2019-06-08 16:43:39

标签: python python-3.x selenium selenium-webdriver selenium-chromedriver

我将脚本放在页面上,但是出现此错误?

  

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)

1 个答案:

答案 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);""")