【发布时间】:2016-04-25 10:20:47
【问题描述】:
我最近开始以邮件服务 gmail 为例学习自动化测试。我试图通过循环调用验证码,但不明白预期条件是如何工作的。我如何才能正确调用该函数来完成程序?请原谅我的英语。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
class my:
def loop_send_keys(self):
while (True):
self.email.send_keys("a")
self.email.submit()
if (self.captcha.is_displayed()):
return self.driver.find_elements(self, By.ID, "captcha-img") # Problem in this line
def launch(self):
self.a = False
driver = webdriver.Firefox()
self.driver = driver
driver.get("https://mail.google.com/")
driver.implicitly_wait(4)
self.email = driver.find_element_by_name("Email")
self.email.send_keys("sndb11")
self.captcha = self.driver.find_element_by_id("captcha-img")
WebDriverWait(driver, 10).until(
EC.presence_of_all_elements_located(By.ID, self.loop_send_keys()) # and this
)
a = my()
a.launch()
【问题讨论】:
标签: python-3.x selenium automated-tests