WPF webBrowser操作DOM
阿新 • • 發佈:2018-12-08
簡言之,WPF的WebBrowser該有的都有,只不過不像WinForm那麼直觀。
所以直接將WebBrowser1.Document引用為一個dynamic物件就可以按照WinForm那麼操作了
這裡添加了對mshtml的引用。
不知道為什麼新增button後使用setAttribute新增onclick事件沒有用,所以這裡直接新增一個div,後在innerHTML中新增按鈕。
public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); webBrowser1.Navigate("https://www.baidu.com/"); } private void button1_Click(object sender, RoutedEventArgs e) { dynamic document = webBrowser1.Document; document.getElementById("kw").value = "Hello World"; } private void button2_Click(object sender, RoutedEventArgs e) { webBrowser1.Navigate("http://cn.bing.com/"); } private void button3_Click(object sender, RoutedEventArgs e) { dynamic document = webBrowser1.Document; var item = document.CreateElement("div"); item.innerHTML = "<button id=\"Test\" onclick=\"javascript: alert('Hello World')\">Hello World</button>"; document.body.appendChild(item); MessageBox.Show(item.outerHTML); document.getElementById("Test").click(); } }