在出现任何错误之前如何将Selenium用于24x7

时间:2018-08-10 07:07:44

标签: python selenium

现在,我正在使用Selenium执行脚本“ window.performance.timing”,以获取页面的完整加载时间。它可以在不打开浏览器的情况下运行。我希望它保持24x7全天候运行并返回加载时间。

这是我的代码:

import time
from selenium import webdriver
import getpass

u=getpass.getuser()
print(u)

# # initialize Chrome options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('user-data-dir=C:\\Users\\%s\\AppData\\Local\\Google\\Chrome\\User Data'%(u))

source = "https://na66.salesforce.com/5000y00001SgXm0?srPos=0&srKp=500"
driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get(source)
driver.find_element_by_id("Login").click()
while True:
    try:
        navigationStart = driver.execute_script("return window.performance.timing.navigationStart")
        domComplete = driver.execute_script("return window.performance.timing.domComplete")
        loadEvent = driver.execute_script("return window.performance.timing. loadEventEnd")

        onloadPerformance = loadEvent - navigationStart

        print("%s--It took about: %s" % (time.ctime(), onloadPerformance))

        driver.refresh()
    except TimeoutException:
        print("It took too long")

        driver.quit()

我有两个问题:

  1. 保持刷新页面并打印页面加载时间是个好主意吗?有风险吗?
  2. 是否需要改善我的代码?

当我在Google上搜索任何建议时,有人建议使用docker和jerkin,但它需要下载更多内容。该代码将最终打包到exe中,并让其他人使用。如果它不提供很多软件包,那就很好。

非常感谢您,因为我是网络方面的新鲜人。任何建议将不胜感激。

0 个答案:

没有答案