Python 如何使用try语句优化代码?
我有一个问题,执行try之后的代码需要很长时间。最长可达10秒。你能想到任何优化吗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:
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],也许我会使用其他代码来更快地搜索。。。