0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

selenium ケーススタディ まとめ python pyCharm

Last updated at Posted at 2021-01-11

Seleniumで困ったことのまとめ

最近、seleniumを入力作業の自動化をする仕組みを作りそれにあたって困ったことなどこの記事でまとめていこうかなと思います。何をimportするとかは書いたらpycharmが勝手に教えてくれるので省略

reCAPTCHAや二段階認証の回避

chromeにてユーザープロファイルに対象のサイトのログイン情報を記憶させ、seleniumでユーザープロファイル指定、ドライバー初期化にて回避する。

# main.py
from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("--user-data-dir=C:\Users\Yoshi\AppData\Local\Google\Chrome\User Data")
options.add_argument("--profile-directory=Profile 7")
driverPath = "C:\Program Files (x86)\WebDriver\chromedriver_win32\chromedriver_87.exe"
driver = webdriver.Chrome(executable_path=driverPath, options=options)

Send.keyが遅い......

execute_scriptを使ってテキストボックスに値を入力します。

# webドライバー初期化は省きます
targetId = "targetId"
inputVal = "inputVal"
# 改行を含めて文字列を入力したいとき↓
# inputVal = inputVal.replace('\n', '\\n')

driver.execute_script(f'document.getElementById("{targetId}").value="{inputVal}";')

要素の存在チェックを行う

# webドライバー初期化は省きます
if len(driver.find_elements(By.ID, "element")) > 0:
    print("あるよ。")

Conform Alert box のOKボタンを押す

# webドライバー初期化は省きます
# クリックするのは何でもよいComform Alertとの表示のトリガーとなるものをクリック
driver.find_element_by_xpath("xpath").click()
Alert(driver).accept()   # OK
Alert(driver).dismiss()  # キャンセル

type fileに画像を送る

# webドライバー初期化は省きます
productImgFilePath = r"C:\work\RakumaAutoApp\1.jpg"
driver.find_element_by_xpath("xpath").send_keys(productImgFilePath)

アクセス毎にIPアドレスを変えたい

以下を参考↓
https://takazawa.github.io/hobby/selenium_python_tor/

xpathの確認方法

chromeだけ、たぶんほかのブラウザも大体おんなじ感じだと思う
・F12で開発者用画面を開く
image.png

・何でもよいから選択
対象要素右クリ、Copyを見れば見つかる。
image.png

まとめ

今回の入力作業自動化のプログラム作成で初めてPythonを触り、いい勉強になった。Seleniumも何かと何もせずに勝手にブラウザ動かしてなんかしてくれるのできもちいい。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?