![]() |
VB如何自動填入網頁「下拉式選單」值?
如填入台灣郵政裡的鄉鎮市區下拉式選單:
http://www.post.gov.tw/post/internet....jsp?ID=190102 拉下下拉式選單選擇「桃園縣」後方的下拉式選單會產生「查桃園全區」...... 如果使用VB填入select的Value值也是選值桃園縣 則後方的下列式選單沒有反應 有大大知道問題是出在哪嗎? 網頁語法: 語法:
<span class="bigger">縣市/鄉鎮【市】區</span> 語法:
Private Sub Command1_Click() |
個人是使用 VB6
試了一天 找了google 好像"很難" "簡單辦到" ※A 不過如果你會 JavaScript 的話 可以自己寫一段 "自動點擊" 的小小副程式 再利用 WebBrowser1.Document.open WebBrowser1.Document.Write <新的原始碼> 來重新改寫原始碼 使自動點擊達成你的目標 <※A> 這裡就算用 vDoc.All(i).Click 及 vDoc.All(i).Selected = True 也都一樣 最多都與 vTag.Value = "桃園縣" 一樣 因為這些方法只能改變 vTag.Value 的值 無法達到連續變動的事件 |
剛剛稍微追了一下郵局那個網頁的原始碼後發現,縣市變動的時候會去呼叫一段javascript的功能,在那段功能中則是再呼叫了另一個另一個程式,那個程式裡則存放個縣市的鄉鎮資料。
回到你的問題,你的程式裡再縣市選擇是有句 onChange="javascript:citychange();" 如果你這是你抄郵局那個網頁的那你抄的並不完全,如果要使這個功能動作你得再好好研究一下,這跟你後面那段VB的程式無關,因為你那段程式是再按了確定(submit)後才發生的。另外Form_Load()裡寫的那句是什麼意思?你能解釋一下嗎? to mini: 用 vb script是可做到的,但是他抄下來的部份程式根本跟那個下拉選單無關。 |
引用:
則為台灣郵政查詢郵碼的頁面 Form_Load()的內容是指程式執行時 將網頁內容載入WebBrowser網頁瀏覽器 另關於直接登入網頁時,改變select的value的值時會呼叫javascript:citychange(),但是為何用VB直接改變value的值時,不能呢? javascript語法: 語法:
function citychange() { |
看來是我搞錯方向了,你用vb填入資料的時候並沒有觸動onchange的動作是主要原因。
請問你用的是vb6還是.net vb6 可以用以下方式來執行 script WebBrowser1.Document.parentwindow.execScript "citychange", "javascript" .net 則是 WebBrowser1.Navigate("javascript:citychange()") |
引用:
vb6 vDoc.parentWindow.execScript "javascript:citychange();" 及 WebBrowser1.Navigate("javascript:citychange()") 接在 vTag.Value = "桃園縣" 後都可以 (最好加個 exit for) |
所有時間均為台北時間。現在的時間是 10:29 PM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *