2010-03-18 6 views
5

में WinBorm में webBrowser नियंत्रण का उपयोग करके HTMLElement नहीं ढूंढ सकता है। लेकिन जब वेबपृष्ठ को अजाक्स या फ्रेम में अपडेट किया जाता है, तो मैं htmlElement को खोजने के लिए webBrowser1.document.getElementById आदि का उपयोग नहीं कर सकता। यह तत्व आईई में View->Source code में भी नहीं दिखाया जाएगा।वेब ब्रॉउज़र नियंत्रण एजेक्स वेबपृष्ठ अपडेट या फ्रेम

अप्रत्याशित उद्देश्य htmlElement को ढूंढना और invokeMember("staff") जैसे किसी क्लिक या अन्य फ़ंक्शन को अनुकरण करना है।

उत्तर

1

वेबब्रोसर का दस्तावेज़ ऑब्जेक्ट वास्तव में डोम के लाइव व्यू का प्रतिनिधित्व करता है, इसलिए कोई अन्य कारण हो सकता है कि आप इसे ढूंढने में असमर्थ हैं। हालांकि, डोम अपडेट्स को व्यू -> स्रोत में प्रदर्शित नहीं किया जाएगा। आपको IE8 के डेवलपर टूल का उपयोग करना चाहिए जो आपको डोम का लाइव व्यू दिखाएगा और शायद आपको कुछ गलत/डुप्लिकेट आईडी या कुछ दिखाई देगा।

0

मैं तुम्हें अनुमान लगा रहा हूँ पहले से ही अपने दम पर इस समस्या को हल कर लिया है, लेकिन यदि आप नहीं है, मेरे सवाल का यहाँ देखें: WebBrowser Control and GetElement by ID

अनिवार्य रूप से, अगर आप WebBrowser नियंत्रण के लिए कुछ करना (यानी , कुछ सदस्य को डीओएम में जोड़ें) यह असीमित रूप से ऐसा करेगा। यही है, यह किसी अन्य धागे पर करता है, इस तरह वेबब्राउज़र काम कर रहा है, तो यह आपके कॉलिंग थ्रेड को लॉक करने से बचाता है। समस्या यह है कि यदि आप किसी आदेश के साथ प्रोग्रामिक रूप से कुछ संशोधित करते हैं, तो आपको तब तक इंतजार करना होगा जब तक कि कमांड वास्तव में इसके परिवर्तनों को लोड नहीं कर लेता है जब तक आप इसके परिणाम के साथ काम नहीं कर सकते।

मैं जो कर रहा था उसके कोड उदाहरण के लिए वहां मेरे प्रश्न की जांच करें। मुझे उम्मीद है कि कोई मेरे पिछले परीक्षण उपयोगी पा सकता है।

संबंधित मुद्दे