Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 8.1 Pro : Excel 2000)
seleniumでChrome Canary起動
投稿日時: 20/07/04 21:07:05
投稿者: xeon333

vbaからChrome Canaryを開きたく存じます。
 
 
Dim Driver As New Selenium.WebDriver
 
Driver.AddArgument "window-size=1920,1080"
Driver.Start "chrome", "https://www.yahoo.co.jp/"
Driver.Get "/"
 
 
だと通常版のChromeが開いてしまいます。
Chrome Canaryを限定して開く方法をご教授下さい。
 
Chrome Canaryの場所は
"C:\Users\ユーザ名\AppData\Local\Google\Chrome SxS\Application\chrome.exe"
でございます。
 
 
 
 

回答
投稿日時: 20/07/05 06:09:04
投稿者: simple

# ExcelVBAの話でもないような印象です。別の板のほうが適切かも。
 
■コメントに先立って、後学のために教えていただきたいことがあります。
chrome canaryというものを必要とする理由は何でしょうか。
chromeで出来ないことが出来るんでしょうか?参考までに教えてください。
通常のchromeではだめなんでしょうか?
(No2ではダメなんでしょうか?というフレーズを想い出しますが)
 
■さて、少しネットで調べたことを以下にコメントします。
 
ネット検索すると、pythonからchrome canaryを起動する方法があるようです
ChromeOptionsクラスにある特定の項目に、Applicationの実行パスを指定できるようです。
https://qiita.com/derodero24/items/9e9567790bde9e4b9d0c
を参照。
 
ご承知のとおり、Seleniumは各言語ごとに、bindingsが提供されており、
ExcelVBAから利用するには、
VB.NetやVBScriptなどをターゲットとしたSeleniumBasicというものを使用します。
https://github.com/florentbr/SeleniumBasic
 
その最新版である v2.0.9.0 (2016/03/02)では、
そうしたChromeOptionsクラスへの対応はされていないと思われるので、
SeleniumBasicを使う方法では実現不可無理だと思います。
(Chromeをアンインストールして、chrome canaryを通常使うブラウザにすると
  使えるのかもしれませんし、当方の調べた範囲でという留保付きですので、
  自己責任で受け止めて下さい。)
 

どうしてもchrome canaryを使わないと困る、使いたいということであれば、
pythonやJavaを使ってはどうですか?

回答
投稿日時: 20/07/05 18:05:15
投稿者: kumatti
投稿者のウェブサイトに移動

C#版のSeleniumBasicのソースを追うと、SetBinaryでパスを渡せるのだそうです。
https://github.com/florentbr/SeleniumBasic/blob/master/Selenium/WebDriver.cs#L185
#伝聞で失礼

投稿日時: 20/07/05 19:22:35
投稿者: xeon333

ご返信ありがとうございます。
 
現在、通常版Chrome, Chrome canary、Chromium と3つのバージョンを使っておりますが、
体感としては、Chromium が圧倒的に軽く、その次にChrome canary、そして一番重いのが通常版Chromeです。
 
ですので、excel vba から軽いChromiumやChrome canaryが選択できればと思いました。
 
pythonの魅力も感じつつあります。
 
driver = webdriver.Chrome()の、driverが何度も使いまわし出来れば良いのですが・・・。
 
excel vbaでいうところのpubulic変数のように。
 
 
 
C#版見に行きます。

回答
投稿日時: 20/07/05 19:25:56
投稿者: simple

おお、それは気づきませんでした。
Selenium.chm というヘルプでSetBinaryを検索すると、
WebDriver.SetBinary Method というのが用例付きで載っていました。
失礼しました。
kumattiさん、ありがとうございます。
# Binaryというwordも検索したはずなんだが、見落としました。

回答
投稿日時: 20/07/05 19:27:27
投稿者: simple

xeon333さん、コメントありがとうございます。
そうですか、軽さでしたか。了解しました。

トピックに返信