Selenium(https://www.npmjs.com/package/selenium-webdriver) と JavaScript(Node.js) で自動処理をしようと思うのですが処理が終わるまでループを一時停止させておく方法がわからず困っています。
配列に複数のサイトの URL が入っており、for でループさせています。各ページの情報を拾い、完了したら次の URL を処理したいのですが、情報を拾い終わるより先に次の URL に移動してしまい処理が失敗します。
javascript
1let driver = new Builder() 2.forBrowser('firefox') 3.build(); 4 5var urlList = ["http://example.com", "http://example2.com"]; 6 7for(var i = 0; i < urlList.length; i++){ 8 let url = urlList[i]; 9 driver.get(url); 10 11 driver.wait(until.elementLocated(By.css("h1")), 3000).then(function(){ 12 // ここでページごとの処理を行う 13 }); 14}
各URLに対する処理が完了するまでループを進めないようにするにはどのようにすればいいのでしょうか?
あなたの回答
tips
プレビュー