推奨される読書対象: フロントエンド基盤なし、JavaScript なし、Web オートメーション (Selenium) の初心者
Web 自動テスト、なぜ Selenium を知った後で js 命令を学ぶ必要があるのですか?
前のセクションでは Selenium の操作について説明しましたが、Selenium を介して直接実装できないブラウザー操作 (ページ スクロール、時間選択、ファイルなど) がまだいくつかあります。したがって、いくつかの簡単な js コマンドを理解し、js コマンドを送信してブラウザーに対応する操作を実行させる必要もあります。
jsって何ですか?
HTML は、JavaScript フロントエンド エンジニアが使用するプログラミング言語を静的に表示することのみを担当します
。役割: Web ページに動的な効果を実現させます。
ほとんどすべてのブラウザには Javascript 実行環境が組み込まれているため、ブラウザの開発者ツールのコンソールで直接 js コマンドを作成して実行できます。
セレンの模式図
js はどのようにブラウザを制御するのでしょうか?
DOM (ドキュメント オブジェクト モデル)
ドキュメント オブジェクト。現在の Web ページ全体を表します。ドキュメントを入力すると、この Web ページのコードが返されます。
詳細についてはここでは話しませんが、興味があればご自身で情報を確認してください(主に私もフロントエンド初心者です。明確に知らないと皆さんに誤解を与えてしまうのではないかと心配です)
練習:
1. 名前を定義し、その名前を出力します。
印刷用の構文: console.log(name)
2. 要素の配置
Python では、find_element('id', 'kw') は Webdriver を通じて js コマンド getElementById("kw") に変換されるため、2 つの効果は同じです。
js コマンドはフロントエンド表示のみを変更でき、ページは更新後に元に戻ります。
# 定位百度输入框元素
el = document.getElementById("kw")
# 修改该元素的value值(selenium只能获取属性,不能修改属性)
el.value = '花测试'
# 输入框变置灰不能修改的状态
el.disabled = true
# 输入框变回可输入状态
el.disabled = false
# 清空网页。该方式可以更新或修改,甚至重写整个html
document.body.innerText = ''