マウスイベント
マウスイベントはActionChainsクラスに含まれており、インポートする必要があるだけです。
from selenium.webdriver.common.action_chains import ActionChains
クラスをインポートします。
一般的に使用される方法は次のとおりです。
-
context_click()-右クリック
-
double_click()-ダブルクリック
-
drag_and_drop(マウスで押された要素、マウスで離された要素)-ドラッグ
-
move_to_element()-要素にカーソルを合わせる
-
click_and_hold()-要素上でマウスの左ボタンを押す
これらのActionChainsクラスのマウスの操作は、performが追加された場合にのみ実行できることに注意してください。
効果を見てみましょう:
# coding: utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.action_chains import ActionChainsoptions = webdriver.ChromeOptions()
options.add_argument('disable-infobars')
driver = webdriver.Chrome(chrome_options=options)
# driver = webdriver.Chrome()
driver.get("http://www.jrj.com.cn/")
sleep(2)
source = driver.find_element_by_xpath(".//*[@id='appherw']")
ActionChains(driver).move_to_element(source).perform()
ええと、私はピットに足を踏み入れました... Firefoxはドラッグできないため、Chromeブラウザを使用していることも誰もが知っていました...多くのBaiduの後で理由を見つけられませんでした。私は私のクロムバージョンについてのみ伝えることができます。さらに、私が行ったようにではなく直接webdriver.Chrom()と書いた場合、操作は問題ありませんが、クロムが開かれると、「クロムが自動的に表示されます。テストソフトウェア制御」。chromeを使用する場合は、chromedriverをインストールする必要があります。
上記のコードを実行すると、QRコードが下に表示されます。これは、マウスが上に移動したときの応答です。
もう一度思い出してください。マウス操作には.perform()が必要です。
キーボードイベント
キーボードイベントは、Ctrl + C、Ctrl + V、Ctrl + Xなど、キーボードの一部の操作です。
キーボードの操作では、別のキーボードライブラリをインポートする必要があります。
from selenium.webdriver.common.keys import Keys
たとえば、検索ボックスに「自動テスト」と入力したいが、「自動テスト」を検索したい場合は、単語を削除するだけで、キーボードのBackspaceキーを押すだけです。キーボード操作が必要:
driver.find_element_by_xpath("xpath的定位").send_keys(Keys.BACK_SPACE)
ソフトウェアテスト、インターフェーステスト、自動テスト、インタビューの経験を交換する場合。興味がある場合は、ソフトウェアテスト通信(1085991341)を追加できます。同僚との技術交流があります。
それでおしまい。
次に、コードの部分に来ると、誰もが覚えています:
# coding: utf-8
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
# 输入框输入内容
driver.find_element_by_id("kw").send_keys("selenium")
sleep(3)
# 删除多输入的一个 m
driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
sleep(3)
# 继续输入“教程”
driver.find_element_by_id("kw").send_keys(u"教程")
sleep(3)
# ctrl+a 全选输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
sleep(3)
# ctrl+x 剪切输入框内容
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
sleep(3)
# 输入框重新输入内容,搜索
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
sleep(3)
# 通过回车键盘来代替点击操作
driver.find_element_by_id("su").send_keys(Keys.ENTER)
sleep(3)
driver.quit()
上記の内容を理解するのにほぼ十分です。新しいニーズに遭遇した場合は、Baiduだけが必要です。すべてを頭に入れておくことはできないことを知っておく必要があります。Baiduの開始方法と方法を知っていれば、目標は達成されます。もちろん覚えておくといいです。
上記の内容があなたのお役に立てれば幸いです。