Python 自定义元素的执行速度较慢
我在另一个方法的方法体中:Python 自定义元素的执行速度较慢,python,selenium,selenium-rc,Python,Selenium,Selenium Rc,我在另一个方法的方法体中: for i in range(60): try: if sel.is_element_present("//div[@id='result']/form[3]/strong/div/button"): break except: pass time.sleep(1) 它在5秒内执行 现场无任何变化,我执行以下命令: self.WaitForElement(u"//div[@id='result']/form[3]/strong
for i in range(60):
try:
if sel.is_element_present("//div[@id='result']/form[3]/strong/div/button"): break
except: pass
time.sleep(1)
它在5秒内执行
现场无任何变化,我执行以下命令:
self.WaitForElement(u"//div[@id='result']/form[3]/strong/div/button")
def WaitForElement(self,name):
for i in range(60):
try:
if sel.is_element_present(name): break
except: pass
time.sleep(1)
它在30秒内执行,所以很奇怪
您有什么想法吗?快速查看您的代码,我唯一能看到的是您在第一个示例中定义了一个标准字符串,但在第二个示例中定义了一个unicode字符串。以下是我对is\u元素\u present方法的介绍:
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
因为它已经在做一个try…except块,所以您不需要将它包装在try…except中。由于is_元素_present只返回True或False,因此代码的except:pass部分可能永远不会执行。相反,只需使用if语句
我还认为你的代码中有一个拼写错误,而不是你自己 是的,但是如果没有这种unicode转换,我看不到执行时间上的任何差异。