私はセレンwebdriverをを使用してウェブサイトをスクラップしようとしています。 私は自分自身を教える言語としてjavascriptとnodejsを選択しました。 以下は、ツールの動作を理解するための非常に基本的なコードです。セレンウェブドライバはどのようにjavascriptで動作しますか?
私は、次のコマンドラインでそれを起動します。 ノード--debug-BRK = 5858のsrc/app.js
var chromedriver = require('chromedriver');
var webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser('chrome')
.build();
driver.get('http://www.google.com/ncr');
debugger;
driver.findElement(By.name('q')).sendKeys('webdriver');
driver.findElement(By.name('btnG')).click();
driver.wait(until.titleIs('webdriver - Google Search'), 1000);
driver.quit();
私はIDEとしてvscodeを使用しています。 F5キーを押すと、コードにブレークポイントを設定した後、ブレークポイントがヒットしますが、ブラウザはまだ開かれていません。私は(VScode中)、スクリプトが終了、再開をクリックすると、ブラウザが起動され、対応するコマンドが実行されているそれはすでにヒットしたので、だけで、その後、私のブレークポイントは現在、無視されています。
これは、以下の結果を持っている:私はステップによってセレンwebdriverをステップため、XPathのコマンドを使用して、検索要素の内容を評価することができませんすることはできません。
私は何を参照しないが、何かが欠けています。 スリープステートメントを追加する必要がありますか?
私が見たほとんどの人は、Javaを使用していますが、可能であれば私はむしろジャバスクリプトに固執すると思います。
私が知っているセレンは約束で動作しますが、ここで説明したよう:https://github.com/SeleniumHQ/selenium/wiki/WebDriverJs、あなたはもう「.then」を必要としません。私は今のところvsocdeを使用しており、webdriverプログラムをデバッグすることはできません。現在、ノード--debug-brkを実行していますが、これではデバッグできません。 – Charly