返回列表 上一主題 發帖

[發問] 如何用EXCEL VBA在CHROME輸入資料再按下查詢?

[發問] 如何用EXCEL VBA在CHROME輸入資料再按下查詢?

請教各位大神,我想用VBA抓公司網頁資料,之前都是用IE,語法上大概了解怎麼寫,但現在公司IE停用了,只能用CHROME,我目前只能寫到開啟CHROME網頁,但是如何操作輸入數字按下查詢是完全沒有頭緒,附上開啟CHROME的程式碼以及截圖,懇請各位大神幫忙解惑,萬分感謝。
PS:由於程式碼內的網址是公司內部網頁,所以各位大神在測試的時候沒辦法由外部開啟,還請見諒。
  1. Sub test()
  2. Dim Chrome As New Selenium.ChromeDriver
  3. Dim URL As String
  4. URL = http://etrex2:8080/SelectWeb/
  5. With Chrome
  6.     .Get URL
  7. End With
  8. End Sub
複製代碼

回復  smart3135


https://github.com/florentbr/SeleniumBasic/releases
下載
SeleniumBasic-2.0.9 ...
singo1232001 發表於 2022-7-9 16:39


感謝您提供的這些資訊,會再好好消化一下。

TOP

本帖最後由 smart3135 於 2022-7-10 00:32 編輯
回復  smart3135


需要附上 那兩個元件的相關資訊  例如ID  class  tagname   
     
要在瀏覽器按F ...
singo1232001 發表於 2022-7-9 18:05

您好,原來我一開始就搞錯了,不是在網頁按右鍵選檢查網頁原始碼,而是要按F12查元件,後來有詢問到,應該是要用.FindElementById、.FindElementByName、.FindElementByXPath的語法,如下面用Yahoo奇摩首頁搜尋的例子
  1. Sub test()
  2.     Dim chrome As New Selenium.ChromeDriver, UrL As String, s  As String
  3.     UrL = "https://tw.yahoo.com/"
  4.     s = "尿布"
  5.         With chrome
  6.         .Get UrL
  7.         .FindElementById("header-search-input").SendKeys (s)
  8.         .FindElementById("header-desktop-search-button").Click
  9.        End With
  10.      Stop
  11.      chrome.Quit
  12.     Set chrome = Nothing
  13.     End Sub
複製代碼
以奇摩這個case來說,元件是用ID,所以是用.FindElementById,下週到公司會再用F12查詢一次元件的相關資訊再附上圖片,在此之前有幾個疑問想先請教您
1.在奇摩首頁,我按下F12,一開始並沒辦法找到"header-search-input"和"header-desktop-search-button"這兩個關鍵詞,是等按下Crl+F搜尋框出現後key入search後才出現,不太理解為什麼要在這樣操作後才會出現關鍵詞,我這樣的作法是正確的嗎?或是有其他比較正確的方法可以查到"header-search-input"和"header-desktop-search-button"這兩個關鍵詞?

2.您說在想查的元件上面         右鍵  >檢查 (重複2次),這裡不是很懂,可以再詳述一下或是提供參考圖片嗎?
先感謝您的指導

TOP

回復  smart3135


    在元件上 檢查兩次 才會全展開

    第一次只會選擇到元件的上層或者框架
   ...
singo1232001 發表於 2022-7-10 01:30

可以再和您確認一下嗎?是左鍵兩次還是右鍵兩次?我按右鍵會出現圖中紅框的視窗。

TOP

回復  smart3135


其實可以不用按F12

(右鍵>檢查)做兩次    不是右邊的紅框,而是左邊的顯示畫面 ...
singo1232001 發表於 2022-7-11 03:43

您好,今天到公司用了滑鼠右鍵選檢查,真的能找到對應的元件內容,只是還是不是很清楚這個FindElement該怎麼寫,可否再麻煩您幫忙看一下,若還需要其他資訊請再告知,非常感謝您。

1.首先現在Search點一下



2.在請輸入工單號碼欄位輸入工單號碼


3.按下查詢即可得到結果

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題