I would like to get the values of this div shown in the link that I propose.
Is there some kind soul who could show me the solution? I'm not here to ask for the code, but are diffcult and would like some help.
I'm trying to use the WebBrowser control, but so far nothing.
Dim divs = WebBrowser1.Document.Body.GetElementsByTagName("div")
Dim result
For Each d As HtmlElement In divs
If d.GetAttribute("className") = "block_competition_tables real-content clearfix " Then
result = d.InnerText
End If
MsgBox(result)
Next
Image example:
http://www.mediafire.com/convkey/e9de/4ju6fo9cp6ibl84fg.jpg
Site link:
http://it.soccerway.com/national/italy/serie-a/20142015/regular-season/r27139/
The problem is probably because your using className as the attribute name, when it should be class.
Have you tried getting the div by id
page_competition_1_block_competition_tables_8_block_competition_form_table_1
instead, it wont break if they change the css that way (although it may still break if they change the layout but you will probably have other issues to fix then anyway).
EDIT:
Ahh figured it out, not only does that page not seem to work well in a web browser control (lots of javascript errors on my windows 8 box) the table is loaded dynamically when you click the link so its not there when you try get it.
If you look at the network tab of developer tools in chrome (or in whatever browser you use) it'll show a GET request to
http://it.soccerway.com/a/block_competition_tables?block_id=page_competition_1_block_competition_tables_8&callback_params=%7B%22season_id%22%3A9757%2C%22round_id%22%3A27139%2C%22outgroup%22%3Afalse%7D&action=changeTable¶ms=%7B%22type%22%3A%22competition_form_table%22%7D
which if you decode the URL params is
http://it.soccerway.com/a/block_competition_tables?block_id=page_competition_1_block_competition_tables_8&callback_params={"season_id":9757,"round_id":27139,"outgroup":false}&action=changeTable¶ms={"type":"competition_form_table"}
going to the url gave me the html of the table in a json object, and you can do that with a simple HTTPRequest instead of using a webbrowser.
Hope that helps.
Related
If anyone can help me that would be great. I'm trying to submit any changes without getting the...
"A potentially dangerous Request.Form value was detected from the client.
I'm using tinyMCE with my project and if I enter any content that has any HTML characters I get the above message
I have tried various solutions here on Stackoverflow and elsewhere but they didn't work for me. The last solution I tried was here
Another site that looked promosing but without luck...
I haven't done any development for a while so I'm a tad rusty and not sure what you'll need until you ask.
Thank you
Use Request.Unvalidated to reference your textarea in your code block:
var html = Request.Unvalidated("myTextArea");
If you want to output whatever the user submitted, and you wanted the browser to respect the HTML markup that is included, you need to use Html.Raw:
You entered: #Html.Raw(html)
I want to find a url webbrowser control inside iframe.
1) my webbrowsercontrol opena url
2)that url has one iframe inside it
3) That Iframe has a link which I want to grab programmatically using vb.net
At any point of time use webBrowser1.Url.ToString() to get the URL of the current open link.
You can get the html code of the open url by using webBrowser1.DocumentText. Once you have the html code use string manipulation to find the "iframe src" value.
This can be abit complicated as you migt not know how may iframes you need to handle.
As well there are some limitations for the FRAME elements according to HtmlWindow.WindowFrameElement Property
You cannot access a FRAME elements or the FRAME's document if the
FRAME is in a different zone than the FRAMESET that contains it. For a
full explanation, see About Cross-Frame Scripting and Security.
Actually, all you need to do is this...
Msgbox Webbrowser1.document.frames(0),getelementbyid("linkTagId").href
This will show you the href of the link, don't bother wasting time with string manipulation.
Of course, you can loop through the frames and links as well using the .length properties in a for loop.
Also, there are ways to bypass the cross-frame security issues since you are running the code in an exe, there are examples online, just search for "bypass cross-frame security webbrowser control" in google without the quotes.
If you need more help with these let me know as I can tell you how. Remember the cross frame stuff only need bypassing if the parent domain name and iframe domain name are different (not subdomains though, they can be different no problems).
Let me know mate :)
have this webpage http://www.westminster.ac.uk/schools/computing/undergraduate . I'm using hpple to retrieve data (just started learning about it). I want to specifically retrieve the href from he main page, how can i do this?
I have this line - "NSArray *elements = [xpathParser search:#"//a"];" is able to retrieve all of the href links within the page however how can i retrieve just the ones in the main content? e.g. "BSc Honors Busniess Information Systems"? whats the syntax for it?
It looks like all of the "main content" stuff is found underneath elements with id attributes like "content_div_XXXX" where XXXX is some randomly generated sequence. You might be able to get at what you want using an XPath that looks something like:
//div[starts-with(#id,'content_div')]//a
You should be able to get something like this working, although you'd have to try it out and perhaps tweak it a bit to make it work precisely as you want. Refer to W3Schools XPath page for a good set of XPath tutorials
I'm not even sure what the name of that is to be able to make a search... but I would like to make those kind of things. Facebook has that too with the messages, notifications and friends requests. Thanks
I'm not sure if you expect anyone to give you a complete tutorial with source code included? :) You should probably do some digging around yourself, since a concrete answer on this could mean to write a few pages :)
How can you dig around?
Thé tool for a job like that is Firebug (IMO).
With bigger tasks like these it makes sense to try to split it up in smaller pieces.
Let's say you go for a widget like the user profile popup on SO.
you need some HTML to display in a popup: right click on any html element on the popup and click the 'inspect element' menu item. This brings you to the HTML tab in firebug. This allows you to figure out how the HTML is structured
you need some CSS to style that popup: when you're browsing the html structure, you might already have noticed that on the right side of it is the CSS that is applied to the active element
you might want to use some animation effects: for that you could use jquery. Have a look here to find out more on which effects are available and how they can be triggered. Fading is used in the profile popup on SO.
then you might ask yourself the question where SO get's that html structure from, right? To find out more about which server calls are made you can use the 'NET' tab in Firebug. (When you hover over your user name (only the first time?), then you should notice there's a call made to something like: http://stackoverflow.com/users/profile-link-stats?_=someLongNumberHere
In firebug you can then inspect the request and response. You should notice that the response is some HTML structure. This HTML structure is then inserted into the DOM.
Sooooo you can kinda glue it all together now:
the user hovers over his user name
the hovering triggers a server call (see step 4): use jquery hover to attach a handler to the user link. (subsequent hovers don't trigger that server call, so there needs to be a check to see if that profile popup was already loaded or not)
when the server call successfully returns (see jquery get), the returned html is inserted into the DOM and a fadeIn effect is triggered.
it seems a mouseout is used to fadeOut the popup
I HOPE this is the answer you were looking for. It took me a while ;)
You probably need to check out stackapps
I am needing to get the browser height and width of the browser window with vb. I can get these values by setting an ASP.Net hidden input control using javascript, after the page has loaded and a post back is done. I need to be able to get these values when the page initially loads so I can create an image based on those values.
I am still new at VB.Net, so any help would be great. Thanks!
Quick answer: No, you cannot.
BUT: You may have access to those values by looking at the request headers values.
Please note that the value may not always be there and that different browser may or may not sent those values with different keys.
The best way to have this value should be usign javascript or vbscript (ie CLIENT script). You may use ajax you create your image async way.
ASP.NET is a SERVER side programming language (like JSP or PHP) and has nothing to do with which browser access it...
Look at it this way, what is the screen size of Google Bot "browser" ? Or what if a access your site with telnet ?
So you should use client script to have acces to client properties.
Do not hesitate to comment if I am not clear or right.