セレンとファントムのフォームを送信してから、フォームが提出されたことを示すbr
要素を検索して前のページに戻ります。時折タイムアウトは30代に割り当てられた時間を超えるとエラーが発生します。 TimeoutError: Waiting for element to be located By(xpath,//div[@id='ContactFormBody']/div/br) Wait timed out after 30003ms
Selenium wait error javascript
が、私は私のプログラムはこの問題が発生した場合にクラッシュしないようにこのエラーを処理する必要があります。さらに、誰かがselenium node.jsのための良い文書を言いたいのであれば、それは素晴らしいことでしょう!
// code generating wait error
form.then(function(self){
driver.wait(until.elementLocated(By.xpath("//div[@id='ContactFormBody']/div/br")), 30000)
.then(function(){
driver.navigate().back();
});
});
// attempt at handling error
form.then(function(self){
try{
driver.wait(until.elementLocated(By.xpath("//div[@id='ContactFormBody']/div/br")), 30000)
.then(function(){
driver.navigate().back();
});
}
catch(e){
console.log("error occurred, script will continue.")
}
});
フォームの提出を示す 'br'を待っていますが、非常に信頼性が高いとは言えません。ありがとう。 – alecxe
私は同意します!私は最初に、フォームがフォームが提出された別の表示であるフォームフィールドを消滅させるのを待つ/見ようとしていました。この状態の例や文書を見つけることができませんでした。 – nick
'br'は定数ですが、フォームフィールドの代わりに追加されますが、フォーム提出後にテキストが続きます。 – nick