如何解决将Selenium与Python一起使用时引发TimeoutExeption
我在脚本的两个不同位置使用WebDriverWait,每次语法都相同;第一次使用它只是为了查看我是否有错字-这是在一个类下定义的,第二次是在该类下的函数下定义的。即使语法相同,也会弹出错误提示。请参考下面的代码。
element = WebDriverWait(self.driver,self.timeout).until(
EC.presence_of_element_located((By.XPATH,'//div[starts-with(@class,"bill-summary-total")]//div[contains(@data-ng-bind-html,"vm.productList.totalAmt")]')))
print('Your element is: {}'.format(element.text))
def pay(self):
time.sleep(10)
print('You are at this step')
element = WebDriverWait(self.driver,7).until(
EC.presence_of_element_located((By.XPATH,"vm.productList.totalAmt")]')))
print('Your element is: {}'.format(element.text))
在所附图片1中,第2步在print('You are at this step').
之后停了下来
错误:
raise TimeoutException(message,screen,stacktrace) selenium.common.exceptions.TimeoutException: Message:
解决方法
问题通过以下代码解决:
timeout = self.timeout
time.sleep(10)
element = WebDriverWait(self.driver,self.timeout).until(
EC.presence_of_element_located((By.XPATH,'//div[starts-with(@class,"bill-summary-total")]//div[contains(@data-ng-bind-html,"vm.productList.totalAmt")]')))
print('Your element is: {}'.format(element.text))
错误是由于未在代码中稍后使用self.time之前将self.timeout分配给变量(在这种情况下为超时)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。