このようなソースコードを書いています。
目的は、SeleniumによるChromeブラウザの自動操作で、タブを複数開いてそれぞれのタブで検索入力を行うというものです。検索→検索結果→新しくタブを開く→…の連続です。
ですが、下記のソースコードでは
・タブは10個まで問題なく開くことができる。
・しかし、検索は1番最初に開いたタブでしか行われない。
なお、拡張機能はここから入手したもので、crxファイルにしてPythonに読み込ませています。これをインストールすることで右上に出てくるMultiLoginボタンは、押すことで新しいタブを開くという機能があります。
URL
1https://chrome.google.com/webstore/detail/multilogin/ijfgglilaeakmoilplpcjcgjaoleopfi?hl=ja
すべてのタブにおいて、検索結果まで行くような方法にできないでしょうか?
少し複雑な質問になっていますが、簡単に言えば、タブが複数あるとき、タブを切り替える方法がわからないです。
Python
1import time 2from selenium import webdriver 3from selenium.webdriver.chrome.options import Options 4import pyautogui # Chrome拡張のアクションボタンクリック用 5 6options = Options() 7# options.add_argument('--headless') 8options.add_argument('--disable-gpu') 9 10# 「拡張機能をパッケージ化」によってMultiLoginをパッケージ化したもの 11ext_path = "1.0.12_0.crx" 12options.add_extension(ext_path) 13 14path = "C:\chromedriver.exe" 15 16driver = webdriver.Chrome(path, options=options) 17 18driver.set_window_position(0, 0) # ブラウザの位置を左上に固定 19driver.set_window_size(600, 740) # ブラウザのウィンドウサイズを固定 20 21for i in range(10): 22 23 driver.get('http://www.google.com/xhtml') 24 time.sleep(2) 25 26 search_box = driver.find_element_by_name('q') 27 search_box.send_keys('ChromeDriver') 28 search_box.submit() 29 time.sleep(2) 30 31# 画面の右上のMultiLoginの拡張機能のボタンを押す=新しいタブが出てくる。 32 pyautogui.click(500, 60, 1, 1, 'left')
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/26 04:44
2019/12/26 11:40