こんにちは、しらすです。
Selemiumで各要素を獲得する方法とアクションの一覧を作成しました。
要素の獲得方法の一覧
単一エレメントを取得する
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
複数エレメントを取得する
find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector
使い方
下記をサンプルとして見てみましょう。
<html>
<body>
<form id="loginForm">
<input name="username" type="text" />
<input name="password" type="password" />
<input name="continue" type="submit" value="Login" />
<input name="continue" type="button" value="Clear" />
</form>
<h1>Welcome</h1>
<p class="content">Site content goes here.</p>
<p>Are you sure you want to do this?</p>
<a href="continue.html">Continue</a>
<a href="cancel.html">Cancel</a>
</body>
<html>
idで検索
login_form = driver.find_element_by_id('loginForm')
nameで検索
username = driver.find_element_by_name('username')
password = driver.find_element_by_name('password')
xpathで検索
login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_xpath("//form[1]")
login_form = driver.find_element_by_xpath("//form[@id='loginForm']")
linkテキストで検索
continue_link = driver.find_element_by_link_text('Continue')
continue_link = driver.find_element_by_partial_link_text('Conti')
tagで検索
heading1 = driver.find_element_by_tag_name('h1')
classで検索
content = driver.find_element_by_class_name('content')
cssで検索
content = driver.find_element_by_css_selector('p.content')
アクションの一覧
element.click()
element.send_keys("xxx")
参考
Selemiunクイックリファレンス
Seleniumクイックリファレンス
本サイトはSelenium/Appium入門者を対象とした、環境構築・APIの早見表サイトです。テスト自動化ツールであるSelenium/Appiumを使ったテスト方法についてご紹介いたします。
4. Locating Elements — Selenium Python Bindings 2 documentation
python +seleniumの操作一覧
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGNTU3ODAlMkZwcm9maWxlLWltYWdlcyUyRjE1MDU3MjQxODE_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9ZDRkYTE1ZjMyMzU1YmY2ZGNhZGQ1ODlhYWFhYzI3MDE%26blend-x%3D120%26blend-y%3D467%26blend-w%3D82%26blend-h%3D82%26blend-mode%3Dnormal%26s%3Dfbf712b69b8d4dbbb47c5b81bb38fe89?ixlib=rb-4.0.0&w=1200&fm=jpg&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9UHl0aG9uJTIwJTJCJTIwU2VsZW5pdW0lMjAlRTMlODElQTclMjBDaHJvbWUlMjAlRTMlODElQUUlRTglODclQUElRTUlOEIlOTUlRTYlOTMlOEQlRTQlQkQlOUMlRTMlODIlOTIlRTQlQjglODAlRTklODAlOUElRTMlODIlOEEmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz00MDM3Zjk0NzU5ZDNmNWFhODM4OTc5YTRhZjU3NmU0Nw&mark-x=120&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBtZW1ha3VyYSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPTQ3ODVhMWExOTZkYmFmNjMzNjYxZjQ1ZWM5M2IzNGQ5&blend-x=242&blend-y=480&blend-w=838&blend-h=46&blend-fit=crop&blend-crop=left%2Cbottom&blend-mode=normal&s=76fb3c9c489393bdb81c3e2d5460bc47)
Python + Selenium で Chrome の自動操作を一通り - Qiita
はじめにPython + Selenium + Chrome で、要素の取得、クリックなどの UI系の操作、待機、ページ全体のスクリーンショットなど、一通り試してみます。PhantomJS はも…
ページ操作
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMjE5MTM4JTJGcHJvZmlsZS1pbWFnZXMlMkYxNTIxODk0NTkzP2l4bGliPXJiLTQuMC4wJmFyPTElM0ExJmZpdD1jcm9wJm1hc2s9ZWxsaXBzZSZmbT1wbmczMiZzPWEzOGM4ZjczODhhN2I0ODMyMWMxOTRmMTNkY2U2MmYw%26blend-x%3D120%26blend-y%3D467%26blend-w%3D82%26blend-h%3D82%26blend-mode%3Dnormal%26s%3D88a6a00bcae87cb6b7287685ba40e046?ixlib=rb-4.0.0&w=1200&fm=jpg&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9U2VsZW5pdW0lRTMlODElQTclRTclOTQlQkIlRTklOUQlQTIlRTklODElQjclRTclQTclQkIlRTMlODElOTclRTMlODElOUYlRTUlQkUlOEMlRTMlODElQUUlRTclOTQlQkIlRTklOUQlQTIlRTMlODElQTclRTglQTYlODElRTclQjQlQTAlRTMlODElOEMlRTUlOEYlOTYlRTUlQkUlOTclRTMlODElQTclRTMlODElOEQlRTMlODElQUElRTMlODElODQlRTUlOTUlOEYlRTklQTElOEMlRTMlODElQUUlRTglQTclQTMlRTYlQjYlODgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtcGFkPTAmcz1lMjFhZjY3NTk1MTUzNmExY2IyNDQ1ODg2NmJkMjZjMw&mark-x=120&mark-y=112&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBrb255X3VtJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LXBhZD0wJnM9Y2MwZTkyN2YyMDU2NDQ1ODM1NDRmMTYzNDZjZjIxY2U&blend-x=242&blend-y=480&blend-w=838&blend-h=46&blend-fit=crop&blend-crop=left%2Cbottom&blend-mode=normal&s=e135802a25ce926eb3c10d2822564857)
Seleniumで画面遷移した後の画面で要素が取得できない問題の解消 - Qiita
最近PythonでSeleniumを使い始めたんですが、ちょっとハマったことがあったのでメモ程度に残しておきます。元のコードfrom selenium import webdriverdri…
コメント