Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用try语句优化代码?_Python_Python 3.x_Selenium - Fatal编程技术网

Python 如何使用try语句优化代码?

Python 如何使用try语句优化代码?,python,python-3.x,selenium,Python,Python 3.x,Selenium,我有一个问题,执行try之后的代码需要很长时间。最长可达10秒。你能想到任何优化吗 try: error_message = WebDriverWait(self.driver, timeout=0).until(EC.visibility_of_element_located( (By.XPATH, "/html/body/div[1]/div[2]/div/div/div[1]/span[2]"))) assert error_me

我有一个问题,执行try之后的代码需要很长时间。最长可达10秒。你能想到任何优化吗

  try:
        error_message = WebDriverWait(self.driver, timeout=0).until(EC.visibility_of_element_located(
            (By.XPATH, "/html/body/div[1]/div[2]/div/div/div[1]/span[2]")))
        assert error_message.text == "Invalid username or password."
        print("3")
        print("Invalid username or password.")
        self.driver.find_element_by_id("username").clear()

    except TimeoutException:
        print(time.time(), "3")

我将用于初始化web驱动器的部分代码放入。也许这里有什么不对劲,它在等待很长时间

    def setUp(self):
    p_test = Logintest()
    self.driver = webdriver.Firefox()
    self.driver.get("https://localhost/spcssd")
    print("TC_S_F.IA.AD001_tEST")
    delay = 20  # seconds
    # assert "Log in to spcssd" in self.driver.title
    try:
        element_present = WebDriverWait(self.driver, delay).until(EC.presence_of_element_located((By.ID, "kc-info")))
        print("Page is ready!")
    except TimeoutException:
        print("Loading took too much time!")

您明确要求代码等待WebDriverWait,直到某个元素可见。您到底想优化什么?如果您问我如何使代码更快地生成TimeoutException?请尝试为timeout参数指定一个小的非零值。如果你问我如何让web驱动程序更快地加载页面,这样页面就不会像以前那样频繁超时?我对有一种方法并不乐观。很可能web驱动程序的开发人员已经尽可能快地完成了。是的,我希望TimeoutException更快,但是如果我使用timeout=1。结果是一样的。你能发布初始化web驱动程序的代码吗?你在使用隐式等待吗?也许我的问题在于错误的定义,比如元素的timeout=0.untelec.visibility\u,locatedBy.XPATH,/html/body/div[1]/div[2]/div/div/div/div[1]/span[2],也许我会使用其他代码来更快地搜索。。。