如果是else语句,如果成功继续,否则等待再试一次

时间:2018-05-23 10:46:13

标签: python selenium if-statement

所以我一直试图在Selenium中使用被称为的函数:

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//button[@class='nsg-button nsg-bg--black register-next-step-cta js-nextStepCta' and contains(.,'FORTSÄTT')]")))

在我开始说出这个问题之前。我试图做的Selenium是基本上制作一个自动写入论坛的Selenium:

Pic1

这不是任何并发症。但是每当我按下" Skapa Konto"时,它会加载并等待新页面出现,这是:

Pic2

但问题在于,有时会出现错误并给出一张图片说明:

Pic3

基本上我需要做的就是按下Dismiss this error并再次按下" SKAPA KONTO"随机延迟点击1-10秒,看看是否有相同的错误或成功。基本上这个想法是否成功。只需继续执行其余的脚本,工作正常。然后每当这个错误弹出时。按Dismiss此错误并按" SKAPA KONTO"再次是:

  WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@value='CREATE ACCOUNT']")))

更新

我的愚蠢!所以我忘了为错误添加HTML:

<span class="nike-unite-h1-no-image">An error occurred.</span>
<input type="button" value="Dismiss this error">

那么我怎么能让它重试直到它给我成功并继续代码?

1 个答案:

答案 0 :(得分:0)

将{{1>}文本解除此错误,然后click()再次对文字为 SKAPA KONTO

click()