如何使用MonoMac在网页上输入Textfield? (WebBrowser控件替代)

时间:2012-07-18 21:40:38

标签: webview browser monomac

我习惯在.net上开发,所以决定尝试使用MonoMac,但遗憾的是.net中的WebBrowser控件在Mono中不可用。

我添加了一个webview,并且我想出了如何导航:

wbWebView.MainFrameUrl = "http://www.linkedin.com";

现在,对于我的生活,我无法弄清楚如何做这些以前我能做的事情.net:

wb.Document.GetElementById("email").SetAttribute("value", "myemaillogin@btinternet.com")

或.net中的类似内容:

For Each link As HtmlElement In wb.Document.GetElementsByTagName("a")
        If link.GetAttribute("href").Contains("twitter") Then
            Dim hyperlink As String = link.GetAttribute("href")
            ListBox1.Items.Add(hyperlink)
        End If
    Next

(其中wb是上述两个示例中的webbrowser控件)

有什么想法吗?

我试过看xml的方法,但要么我做错了,但对我来说并不是真的有效。很遗憾没有单声道的webbrowser控件!

非常感谢你的帮助。

PS。我知道我的.net示例是VB,但同样适用于C#

1 个答案:

答案 0 :(得分:0)

我明白了......

- (IBAction)btnDoStuff:(NSButton *)sender {
    [[[self myWebView] mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.bbc.co.uk/news/"]]];

    [[self myWebView] setEditable:YES];
}

- (IBAction)btnCoolCode:(NSButton *)sender {
    NSMutableArray *myArray = [[NSMutableArray alloc] init];

    DOMDocument *myDomDocument = [[self myWebView] mainFrameDocument];

    DOMNodeList *myList = [myDomDocument getElementsByTagName:@"a"];

    int numElements = [myList length];

    for (int i=0; i<numElements; i++) {
        [myArray addObject:(DOMHTMLElement *)[myList item:i]];
    }

    self.lblOutput.stringValue = [[myArray objectAtIndex:7] innerText];