所以我一直在尝试使用 Selenium 中的函数:
wait = WebDriverWait(browser, 20).wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="accountStandalone"]/div/div/div[2]/div/div/div[1]/button')))
wait.click()
在我开始说这个问题之前。我要做的 Selenium 基本上是在这张图片中制作一个自动写入论坛的 Selenium:
这不是任何并发症。但是,每当我按“Skapa Konto”时,它都会加载并等待直到出现一个新页面:
就是上图。我的想法是,我希望它应该等到它给我那个“图片”(这是同一个链接,所以它不会做任何改变)所以我认为最好做的是等到文本等“FORTSÄTT或 HELLO”是浏览器。然后继续。
但是,我在尝试使用它时遇到了问题。原因是它不会等到它找到它,而是立即去做它不应该做的其他事情。现在它只是跳过等待,就像该功能不起作用或根本不存在一样。我做错了什么?
更新:
我所知道的是,每当我尝试在网站上注册时 - 该网站不会改变,这意味着当它是一个成功的帐户时它会将我带到一个新页面。但它会自动刷新并说它是成功的。所以这意味着我想以某种方式制作一些东西,它检查并查看页面是否发生了新的事情。如果没有,请再等等再试一次?... 类似的东西?
我会做的是等检查是否有:
<div class="confirmation-title nsg-font-family--platform nsg-text--black edf-title-font-size--xlarge js-confirmationTitle">NU ÄR DU MEDLEM, Hello.</div>
或者
<button type="button" class="nsg-button nsg-bg--black register-next-step-cta js-nextStepCta">FORTSÄTT</button>
然而问题正如我所说,每当我按下“SKAPA KONTO”时 - 它只是等待服务器仔细检查,然后自动刷新页面并显示成功。