<Python, selenium> マウスホバーのやり方

レニウムseleniumでマウスホバーmouse hoverする方法。

まずは、selenium起動して、東京アメッシュに行ってみる。

In [1]: from selenium import webdriver

In [2]: from selenium.webdriver.chrome.options import Options

In [3]: options = Options()

In [4]: options.add_argument('--wndow-size=800,600')

In [6]: d = webdriver.Chrome(chrome_options=options)

In [7]: url = 'http://tokyo-ame.jwa.or.jp/'

In [8]: d.get(url)

f:id:nekoyukimmm:20180224192111p:plain

で、マウスホバーしたところのxpathを探す。

f:id:nekoyukimmm:20180224192318p:plain

1... F12に押す。
2... 1の部分を押す。
3... ターゲットの2を押す。
4... 3に行く。
5... マウス右クリックでメニューを出して、4Copy Xpathをゲット。

で、ゲットしたxpath

In [9]: xpath= '//*[@id="area_button"]/ul/li[8]/a/img'

で、マウスホバーするためのオブジェクト読み込み。

In [10]: from selenium.webdriver.common.action_chains import ActionChains

In [11]: actions = ActionChains(d)

で、ホバー。

In [12]: actions.move_to_element(d.find_element_by_xpath(xpath)).perform()

f:id:nekoyukimmm:20180224192732p:plain

ちなみに、xpathで指定するのは、タグtag内のアトリビュートattribute
いろいろ選べる。

f:id:nekoyukimmm:20180224192843p:plain

In [14]: xpath = '//*[@id="moviePlay"]'

In [15]: xpath = '//*[@name="play"]'

In [16]: d.find_element_by_xpath(xpath).click()

In [21]: xpath = '//*[text()="TEAM BEYOND"]'

In [22]: actions.move_to_element(d.find_element_by_xpath(xpath)).perform()

In [23]: d.quit()