前提・実現したいこと
VBA より Google Chrome上にてGoogle 翻訳使用して
翻訳プログラムを作成しています
Chromeの操作はSelenium.WebDriverにプログラミングしました
背景として
以前IE上にてGoogle 翻訳を使用していましたが
IEがなくなるのでプログラム修正変更しています
発生している問題
sendKey テキスト だと遅いので クリップボードを介して
Google 翻訳 にテキスト書き込みすることにしました
sendKey にて ctl +"v" をおこなっていますが 実行していますが
テキストがペーストされません
該当のソースコード
VBA Selenium
1 Dim Driver As New Selenium.ChromeDriver 2 Dim elm As Selenium.WebElement 3 Dim elm1 As Selenium.WebElement 4 Dim CB As New DataObject 5 Dim TranslateText as string 6 Dim url as string 7 Dim CB As New DataObject 8 9 TranslateText="This is a pen" 10'google 翻訳にて英語→日本語 11 url = "https://translate.google.co.jp/?hl=ja#97/102/" 12 Driver.Start "chrome", url 13 Driver.Get "/" 14 CB.SetText TranslateText 15 CB.PutInClipboard 16 CB.GetFromClipboard 17 18 19 Set elm = Driver.FindElementByXPath("//*[@id=""source""]") 20 elm.Clear 21 elm.Click 22 23 elm.SendKeys Driver.Keys.Control, "v" 24 25 26 Driver.Wait 500 27 28 29 Set elm1 = Driver.FindElementByCss("body > div.container > div.frame > div.page.tlid-homepage.homepage.translate-text " & _ 30 "> div.homepage-content-wrap > div.tlid-source-target.main-header.small-font > div.source-target-row > div.tlid-results-container.results-container " & _ 31 "> div.tlid-result.result-dict-wrapper > div.result.tlid-copy-target > div.text-wrap.tlid-copy-target > div > span.tlid-translation.translation") 32 33 mesgox elm1.Text
試したこと
1.クリップボードの内容確認
elm.SendKeys Driver.Keys.Control, "v" にてブレイクして
手作業にて直接 ctl +"v" を入力すると
Google 翻訳 ページに張り付けることができます
2. elm.SendKeys Driver.Keys.Control, "v" の確認
1.クリップボードの内容確認 後データクリアして
elm.SendKeys Driver.Keys.Control, "v" 実行すると
データ貼り付けされる
3.Backspace キーの確認
elm.SendKeys "aaaa"
elm.SendKeys Driver.Keys.Backspace
補足情報(FW/ツールのバージョンなど)
Windows10
EXCEL 2013
Google Chrome バージョン: 83.0.4103.116(Official Build) (64 ビット)
ChromeDriver 83.0.4103.39
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。