icoder 4 Posted June 10, 2015 Report Share Posted June 10, 2015 Hi, i am using proxies, semi shared & someties they are not stable, so is there a way to recheck the page over & over if the proxy is slow? i tried to make an "IF" argument + scraping, so if that variable is =$nothing it reloop again but just wonder if there is a better idea Quote Link to post Share on other sites
HelloInsomnia 1103 Posted June 10, 2015 Report Share Posted June 10, 2015 You will have to use an if then statement of some kind. Either look for something on the page or look for an error message. Quote Link to post Share on other sites
jevans 0 Posted June 11, 2015 Report Share Posted June 11, 2015 I was running into this problem a lot. The built in functions of ubot came up short. I tested for parts of th page as suggested above ( a very valid approach) but it still did not do the trick. The code eventually progressed on without the match. So I thought "What does a human do when we are waiting for a page to load that is too slow - we with our impatience hit the reload button. - Lets apply this to account creation which is where I use it and two different scenarios. If the site is super slow and has a separate page for sign up I will go to the home page in a loop 3 to 5 times before going to the signup page. Otherwise I will go to the signup page in a loop directly 5 times. In each successive load more of the page is there so that by the time I am sending data to the page it is all there. Now this is not a perfect solution. Some sites like slashdot limit the number of forms you can receive in a day. In their case - 11. So lets say an account did not create the first time and I run it again you can see how you can hit this 11 limit. It is not the most beautiful solution but it increased my success rate by over 30% Quote Link to post Share on other sites
icoder 4 Posted June 11, 2015 Author Report Share Posted June 11, 2015 I was running into this problem a lot. The built in functions of ubot came up short. I tested for parts of th page as suggested above ( a very valid approach) but it still did not do the trick. The code eventually progressed on without the match. So I thought "What does a human do when we are waiting for a page to load that is too slow - we with our impatience hit the reload button. - Lets apply this to account creation which is where I use it and two different scenarios. If the site is super slow and has a separate page for sign up I will go to the home page in a loop 3 to 5 times before going to the signup page. Otherwise I will go to the signup page in a loop directly 5 times. In each successive load more of the page is there so that by the time I am sending data to the page it is all there. Now this is not a perfect solution. Some sites like slashdot limit the number of forms you can receive in a day. In their case - 11. So lets say an account did not create the first time and I run it again you can see how you can hit this 11 limit. It is not the most beautiful solution but it increased my success rate by over 30% thank you Jevans, yea i used this method before, but i found a better solution, it's simple, just use the while loop + $not $existit ll raise the success rate to close to 80% because it ll keep looping till the page load if you struggle to fix your code, PM me, i ll help : ) 1 Quote Link to post Share on other sites
Code Docta (Nick C.) 638 Posted June 11, 2015 Report Share Posted June 11, 2015 I would use "wait for element" then use IF element "$not" "$exist"THENadd item to list %bad proxytry again - "define 'check proxy procedure'" ELSEleave empty or delete continue script (next task) put the above process in a "define 'check proxy procedure'" and put the define where "try again" is. so next proxychange proxynavigatewait for element (in the advanced set time out) with reasonable time like 10. Just like loop while except it will stop in 10 seconds. default is like 120 seconds.IF (the above element exist) all in define so it will test next list item "proxy" and so on. Pretty much it test the proxies till one works then will do next task. something like this clear list(%proxies)clear list(%bad proxies)add list to list(%bad proxies, $list from text($read file("FILE PATH CHOOSE YOUR TEXT FRILE"), $new line), "Delete", "Global")add list to list(%proxies, $list from text("646.64.646.45:8055.540.5460.545:8080", $new line), "Delete", "Global")loop($list total(%proxies)) { set(#proxy_NLI, $next list item(%proxies), "Global") change proxy(#proxy_NLI) navigate("http://www.ubotstudio.com/playground", "Wait") wait for element(<innertext="Simple Form">, 10, "Appear") if($not($exists(<innertext="Simple Form">))) { then { add item to list(%bad proxies, #proxy_NLI, "Delete", "Global") proxy test() } } click(<innertext="Simple Form">, "Left Click", "No")}define proxy test { set(#proxy_NLI, $next list item(%proxies), "Global") change proxy(#proxy_NLI) navigate("http://www.ubotstudio.com/playground", "Wait") wait for element(<innertext="Simple Form">, 10, "Appear") if($not($exists(<innertext="Simple Form">))) { then { add item to list(%bad proxies, #proxy_NLI, "Delete", "Global") proxy test() } }} Hope that helps, CD 2 Quote Link to post Share on other sites
icoder 4 Posted June 12, 2015 Author Report Share Posted June 12, 2015 I would use "wait for element" then use IF element "$not" "$exist"THENadd item to list %bad proxytry again - "define 'check proxy procedure'" ELSEleave empty or delete continue script (next task) put the above process in a "define 'check proxy procedure'" and put the define where "try again" is. so next proxychange proxynavigatewait for element (in the advanced set time out) with reasonable time like 10. Just like loop while except it will stop in 10 seconds. default is like 120 seconds.IF (the above element exist) all in define so it will test next list item "proxy" and so on. Pretty much it test the proxies till one works then will do next task. something like this clear list(%proxies)clear list(%bad proxies)add list to list(%bad proxies, $list from text($read file("FILE PATH CHOOSE YOUR TEXT FRILE"), $new line), "Delete", "Global")add list to list(%proxies, $list from text("646.64.646.45:8055.540.5460.545:8080", $new line), "Delete", "Global")loop($list total(%proxies)) { set(#proxy_NLI, $next list item(%proxies), "Global") change proxy(#proxy_NLI) navigate("http://www.ubotstudio.com/playground", "Wait") wait for element(<innertext="Simple Form">, 10, "Appear") if($not($exists(<innertext="Simple Form">))) { then { add item to list(%bad proxies, #proxy_NLI, "Delete", "Global") proxy test() } } click(<innertext="Simple Form">, "Left Click", "No")}define proxy test { set(#proxy_NLI, $next list item(%proxies), "Global") change proxy(#proxy_NLI) navigate("http://www.ubotstudio.com/playground", "Wait") wait for element(<innertext="Simple Form">, 10, "Appear") if($not($exists(<innertext="Simple Form">))) { then { add item to list(%bad proxies, #proxy_NLI, "Delete", "Global") proxy test() } }} Hope that helps, CD awesome! thank you CD your posts always help! Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.