Ich habe vor kurzem begonnen, automatisierte Tests am Beispiel der Mail-Service-Gmail zu lernen. Ich habe versucht, das Captcha durch eine Schleife zu rufen, aber ich habe nicht verstanden, wie die erwarteten Bedingungen funktionieren. Wie kann ich das Programm korrekt aufrufen? Entschuldige mich für das Englische.So rufen Sie eine Funktion von einer erwarteten Bedingungen
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()