質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

0回答

1515閲覧

VB Seleniumによりマーチャントセンターへのファイルアップロードを実現したい

KeisukeTone

総合スコア11

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

1クリップ

投稿2018/10/15 07:51

つまづいていること
マーチャントセンターで①[商品] > ②[フィード] > ③フィードを再処理の橫のタテ線クリック > [入力ファイルのアップロード] > [アップロードするファイルの選択]で④[見てみる]をクリック
まではソース1の内容で動くのですが、このあとにフォルダで所定位置までディレクトリを開きファイルを指定するところが実現できません。これについてご助言頂きたくお願いします。 イメージ説明

環境はVisual Studio community 2017 version 15.8.5
プロジェクトはコンソールアプリ(.NET Framework)
下記ソース1は実体、ソース2はライブラリです

ソース1

VB

1Module Module1 2 3 Sub Main() 4 Dim driver As New C_Selenium 5 driver.DriverSet("Chrome") 6 ShoriMessage = driver.DriverNavigate("https://accounts.google.com/signin/v2/identifier?service=merchants&passive=1209600&continue=https%3A%2F%2Fmerchants.google.com%2FHome%3Fhl%3Djp%26fmp%3D1%26utm_id%3Dgfr%26mcsubid%3Djp-jp-z-g-mc-gfr%26_ga%3D2.106368330.818875313.1538526925-888211757.1538526925%23&followup=https%3A%2F%2Fmerchants.google.com%2FHome%3Fhl%3Djp%26fmp%3D1%26utm_id%3Dgfr%26mcsubid%3Djp-jp-z-g-mc-gfr%26_ga%3D2.106368330.818875313.1538526925-888211757.1538526925&hl=jp&flowName=GlifWebSignIn&flowEntry=ServiceLogin") 7 ShoriMessage = driver.DriverXPathWait("//*[@id='identifierId']") 8 ShoriMessage = driver.DriverXPathSendKey("//*[@id='identifierId']", "[login-id]") 9 ShoriMessage = driver.DriverXPathWait("//*[@id='identifierNext']/content/span") 10 ShoriMessage = driver.DriverXPathClick("//*[@id='identifierNext']/content/span") 11 ShoriMessage = driver.DriverXPathWait("//*[@id='password']/div[1]/div/div[1]/input") 12 ShoriMessage = driver.DriverXPathSendKey("//*[@id='password']/div[1]/div/div[1]/input", "login-pass") 13 ShoriMessage = driver.DriverXPathWait("//*[@id='passwordNext']/content/span") 14 ShoriMessage = driver.DriverXPathClick("//*[@id='passwordNext']/content/span") 15 ShoriMessage = driver.DriverXPathWait("//*[@id='left-nav-main_products']/material-ripple") 16 ShoriMessage = driver.DriverXPathClick("//*[@id='left-nav-main_products']/material-ripple") 17 ShoriMessage = driver.DriverXPathWait("//*[@id='skinny-nav-main_products_sources']/material-ripple") 18 ShoriMessage = driver.DriverXPathClick("//*[@id='skinny-nav-main_products_sources']/material-ripple") 19 ShoriMessage = driver.DriverXPathWait("//*[@id='feeds-root']/scroll-host-with-footer/mso-feeds-dashboard/div/tableview/div/ess-table/ess-particle-table/div[1]/div/div[2]/div[3]/ess-cell[1]/mso-feeds-datasource-name/div[1]") 20 If ShoriMessage <> "" Then 21 ShoriMessage = driver.DriverXPathClick("//*[@id='left-nav-main_products']/material-ripple") 22 ShoriMessage = driver.DriverXPathWait("//*[@id='skinny-nav-main_products_sources']/material-ripple") 23 ShoriMessage = driver.DriverXPathClick("//*[@id='skinny-nav-main_products_sources']/material-ripple") 24 ShoriMessage = driver.DriverXPathWait("//*[@id='feeds-root']/scroll-host-with-footer/mso-feeds-dashboard/div/tableview/div/ess-table/ess-particle-table/div[1]/div/div[2]/div[3]/ess-cell[1]/mso-feeds-datasource-name/div[1]") 25 End If 26 ShoriMessage = driver.DriverXPathClick("//*[@id='feeds-root']/scroll-host-with-footer/mso-feeds-dashboard/div/tableview/div/ess-table/ess-particle-table/div[1]/div/div[2]/div[3]/ess-cell[1]/mso-feeds-datasource-name/div[1]") 27 ShoriMessage = driver.DriverXPathWait("//*[@id='feeds-root']/scroll-host-with-footer/data-source-details/div/tab-processing/div[1]/div[2]/material-button-dropdown/material-button") 28 ShoriMessage = driver.DriverXPathClick("//*[@id='feeds-root']/scroll-host-with-footer/data-source-details/div/tab-processing/div[1]/div[2]/material-button-dropdown/material-button") 29 ShoriMessage = driver.DriverTagNameWait("material-list-item") 30 ShoriMessage = driver.DriverTagSubmit("material-list-item", "value", "Upload input file") 31 ShoriMessage = driver.DriverTagNameWait("material-ripple") 32 ShoriMessage = driver.DriverXPathClick("//*[@id='default-acx-overlay-container']/div[3]/material-dialog/focus-trap/div[2]/div/main/p/upload-file/div/material-checkbox/div[1]/material-ripple") 33 ShoriMessage = driver.DriverXPathWait("//*[@id='default-acx-overlay-container']/div[3]/material-dialog/focus-trap/div[2]/div/main/p/upload-file/div/div[1]/span[3]") 34 ShoriMessage = driver.DriverXPathClick("//*[@id='default-acx-overlay-container']/div[3]/material-dialog/focus-trap/div[2]/div/main/p/upload-file/div/div[1]/span[3]") 35 End Sub 36End Module

ソース2

VB

1Imports OpenQA.Selenium 2Imports OpenQA.Selenium.Support.UI 3 4 5Public Class C_Selenium 6 Private Driver As IWebDriver 7 Private DriverWait As WebDriverWait 8 Private DriverType As String 9 10 Public Function DriverSet(Arg_Type As String) As Boolean 11 DriverType = Arg_Type 12 If DriverType = "Chrome" Then 13 Dim C As Chrome.ChromeDriverService 14 C = Chrome.ChromeDriverService.CreateDefaultService 15 C.HideCommandPromptWindow = True 16 Driver = New Chrome.ChromeDriver(C) 17 ElseIf DriverType = "IE" Then 18 Dim I As IE.InternetExplorerDriverService 19 I = IE.InternetExplorerDriverService.CreateDefaultService 20 I.HideCommandPromptWindow = True 21 Driver = New IE.InternetExplorerDriver(I) 22 End If 23 If Driver Is Nothing Then Return True 24 DriverWait = New WebDriverWait(Driver, TimeSpan.FromSeconds(10)) 25 Return False 26 End Function 27 28 Public Function DriverNavigate(URL As String) As String 29 Dim sErr As String = "" 30 Try 31 Driver.Navigate.GoToUrl(URL) 32 Catch ex As WebDriverException 33 sErr = ex.Message 34 End Try 35 Return sErr 36 End Function 37 38 Public Function DriverXPathSendKey(XPath As String, myStr As String) As String 39 Dim sErr As String = "" 40 Try 41 Driver.FindElement(By.XPath(XPath)).Clear() 42 Driver.FindElement(By.XPath(XPath)).SendKeys(myStr) 43 Catch ex As WebDriverException 44 sErr = ex.Message 45 End Try 46 47 Return sErr 48 End Function 49 50 Public Function DriverXPathWait(XPath As String) As String 51 Dim sErr As String = "" 52 Try 53 DriverWait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath(XPath))) '待機 54 Catch WebTimeOutEx As WebDriverTimeoutException 55 sErr = WebTimeOutEx.Message 56 Catch WebEx As WebDriverException 57 sErr = WebEx.Message 58 Catch ex As Exception 59 sErr = ex.Message 60 End Try 61 62 Return sErr 63 End Function 64 65 Public Function DriverXPathClick(XPath As String) As String 66 Dim sErr As String = "" 67 Try 68 Driver.FindElement(By.XPath(XPath)).Click() 69 Catch ex As WebDriverException 70 sErr = ex.Message 71 End Try 72 73 Return sErr 74 End Function 75End Class

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問