実現したいこと
SeleniumでSalesForceを自動化させようとしているのですが、目的のブラウザを開き、コピーやスクロールはできるものの、タブボタンを押すなど特定のキーボード操作を自動化することができない。
SalesForceのショートカットにタブを押すと次の欄に移れるというものがあるため、それをPythonで実現したい。
前提
Windows, Chrome。社内用PCであるため、URLや画面は持ち出すことができず。。
エラーメッセージ
[12728:20664:0623/082118.936:ERROR:interface_endpoint_client.cc(697)] Message 0 rejected by interface blink.mojom.WidgetHost
[12728:20664:0623/082121.001:ERROR:device_event_log_impl.cc(222)] [08:21:21.006] USB: usb_service_win.cc:415 Could not read device interface GUIDs: The system cannot find the file specified. (0x2)
こちらネットでググっても有効な情報が見つけられず、回答をいただければと思います。
該当のソースコード
Python
1 2from selenium import webdriver 3from selenium.webdriver.common.by import By 4from selenium.webdriver.common.keys import Keys 5from selenium.webdriver.chrome.options import Options 6from selenium.webdriver.common.action_chains import ActionChains 7 8 9CHROMEDRIVER = r"C:\Users\name\Desktop\chromedriver.exe" 10 11 12options = Options() 13 14driver = webdriver.Chrome(options=options) 15 16driver.get('https://…) 17actionChains = ActionChains(driver) 18 19driver.maximize_window() 20 21act = ActionChains(driver) 22 23act.key_down(Keys.PAGE_DOWN) 24 25act.key_down(Keys.TAB) 26act.key_down(Keys.TAB) 27act.key_down(Keys.TAB) 28 29act.perform() 30
試したこと
キーボード操作がWindowsやパソコンのセキュリティに邪魔されて実行不可になってるかなと思い、その線を当たったのですが、いまいち解決できず。
またコピペやスクロールは可能、XPATHで特定の要素を取得することは可能なのですが、テキスト入力などをするとおかしな出力になるため、そもそもSalesForceとSeleniumの相性が悪いのでは?とも思いましたが、そういったこともありうるのでしょうか?