所以我一直在尝试使用Selenium中的一个函数来玩耍,它被称为:
在我开始讲述问题之前,我想要做的是使用Selenium自动填写这张图片中的表单。 这并没有任何的复杂性。但是每当我按“Skapa Konto”时,它就会加载并等待直到出现一个新页面,即: 上面是哪张图片。我的想法是,我希望它等待直到给我那个“图片”(这是相同的链接,所以不会有任何更改),因此我认为最好的方法是等待浏览器中出现文本“FORTSÄTT或HELLO”,然后继续。
但是,当尝试使用此功能时,我遇到了问题。原因是它不等待直到找到但立即进行其他操作,这是不应该的。现在它只是跳过等待,就像函数不存在或根本无效一样。我做错了什么?
更新:
我所知道的是,每当我尝试在网站上注册时,网站并没有发生变化,也就是说,它将我带到一个新页面,显示注册成功,但自动刷新并且说它已经成功。因此,我想以某种方式创建一个检查程序,以检查页面是否有新的变化。如果没有,再等待一段时间后再次尝试。就像这样?
我要做的是等待并检查是否有:
然而问题就像我之前说的那样,每当我按下“SKAPA KONTO”按钮时,它只是等待服务器进行双重检查,然后自动刷新页面并显示成功。
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自动填写这张图片中的表单。 这并没有任何的复杂性。但是每当我按“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”按钮时,它只是等待服务器进行双重检查,然后自动刷新页面并显示成功。