Tuesday, July 30, 2013

The new pygobject come with version 3.9.5 .

GObject is a object system used by GTK+, GStreamer and other libraries.

The new PyGObject 3.9.5 provides a convenient wrapper for use in Python programs when
accessing GObject libraries.

The news come from Simon Feltman - pygtk digest: I am pleased to announce version 3.9.5 of the Python bindings for
GObject. This is the third release of the 3.9.x series which will
eventually result in the stable 3.10 release for GNOME 3.10.

The new release is available from ftp.gnome.org.

Wednesday, July 24, 2013

Using python module webkit and gtk to make one simple webbrowser.

Today I will show you a simple example with webkit python module.

I will make one simple browser using this two python modules.

Read the full tutorial here.

The result can be see in the next image:

Sunday, July 14, 2013

Selenium python module and links.

Just see my old tutorial to run the selenium module.
NOTE: If your script not run when you try to login then use python shell :P
Now add the next source code to see the links and some infos.
links = browser.find_elements_by_partial_link_text('')
for link in links:
    print link.get_attribute("href")

Saturday, July 13, 2013

Selenium python module and cookies.

Today I will show how to deal with cookies and Firefox.

Selenium Python Client Driver is a Python language binding for Selenium Remote Control.

You can read more about this module here.

You can find some examples , but most of webpages working with cookies.So let's make one simple tutorial.

The next source code is very simple and most of the python users knows what means.


$ python 
Python 2.7.3 (default, Jan  2 2013, 16:53:07) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>> from selenium.common.exceptions import NoSuchElementException
>>> from selenium.webdriver.common.keys import Keys
>>> browser = webdriver.Firefox()
>>> browser.get("http://facebook.com/")
>>> browser.get("http://facebook.com/home.php")

The next source codes will get your cookies from the webpage.

>>> for cookie in browser.get_cookies():
...     print(cookie['name'] + ' --> your cookie data ' + cookie['value'])
... 
datr --> your cookie data 
locale --> your cookie data 
xs --> your cookie data 
s --> your cookie data 
lu --> your cookie data 
fr --> your cookie data 
csm --> your cookie data 
c_user --> your cookie data 
act --> your cookie data 
x-src --> your cookie data 
sub --> your cookie data 
p --> your cookie data 
presence --> your cookie data 
>>> 

You can deal with all functions of selenium python module , see :

>>> dir(browser)
['NATIVE_EVENTS_ALLOWED', '__class__', '__delattr__', '__dict__', '__doc__', 
'__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__'
, '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__'
, '__subclasshook__', '__weakref__', '_is_remote', '_unwrap_value', '_wrap_value'
, 'add_cookie', 'application_cache', 'back', 'binary', 'capabilities', 'close', 
'command_executor', 'create_web_element', 'current_url', 'current_window_handle'
, 'delete_all_cookies', 'delete_cookie', 'desired_capabilities', 'error_handler'
, 'execute', 'execute_async_script', 'execute_script', 'find_element', 
'find_element_by_class_name', 'find_element_by_css_selector', 'find_element_by_id'
, 'find_element_by_link_text', 'find_element_by_name', 'find_element_by_partial_link_text'
, 'find_element_by_tag_name', 'find_element_by_xpath', 'find_elements', 
'find_elements_by_class_name', 'find_elements_by_css_selector', 'find_elements_by_id',
 'find_elements_by_link_text', 'find_elements_by_name', 'find_elements_by_partial_link_text'
 , 'find_elements_by_tag_name', 'find_elements_by_xpath', 'firefox_profile', 'forward',
  'get', 'get_cookie', 'get_cookies', 'get_screenshot_as_base64', 'get_screenshot_as_file'
  , 'get_window_position', 'get_window_size', 'implicitly_wait', 'is_online', 
  'maximize_window', 'name', 'orientation', 'page_source', 'profile', 'quit', 'refresh'
  , 'save_screenshot', 'session_id', 'set_page_load_timeout', 'set_script_timeout', 
  'set_window_position', 'set_window_size', 'start_client', 'start_session', 'stop_client'
  , 'switch_to_active_element', 'switch_to_alert', 'switch_to_default_content', 
  'switch_to_frame', 'switch_to_window', 'title', 'window_handles']

This module can be a way for you to testing your webpages , save cookie , restore and more...

Also , if you know networking development also you can use scapy module to test more.

I hope will like this simple tutorial about python.

Monday, July 8, 2013

Using findContours from OpenCV python module.

Today I will show something nice about OpenCV Analysis and Shape Descriptors.

This function finds contours in a binary image.

All detected contours is stored as a vector of points for each contour.


#!/usr/bin/python2.7
import cv2
im = cv2.imread('your_image.jpg')
img_gray = cv2.cvtColor(im,cv2.COLOR_RGB2GRAY)
ret,thresh = cv2.threshold(img_gray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im,contours,-1,(250,250,250),2)
cv2.imshow('your_image.jpg',im)
cv2.waitKey()
cv2.destroyAllWindows()

If you got this error:

findContours error 'support only 8uC1 images'

then the main reason it's findContours requires a monochrome image.

Let's see the result of the python script.


The contour it's draw with 250,250,250 color.