Me falaram sobre o Meckanize import do python e que vem incialmente do CPAN do Perl, mas o webdriver do selenium é muito interessante:
#!/usr/bin/python
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0
from selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
# Create a new instance of the Firefox driver
driver = webdriver.Firefox()
# go to the google home page
driver.get(“http://www.google.com”)
# find the element that’s name attribute is q (the google search box)
inputElement = driver.find_element_by_name(“q”)
# type in the search
inputElement.send_keys(“filetype:pdf” + ” ” + “pentest”)
# submit the form (although google automatically searches now without submitting)
inputElement.submit()
# the page is ajaxy so the title is originally this:
print driver.title
try:
# we have to wait for the page to refresh, the last thing that seems to be updated is the title
WebDriverWait(driver, 10).until(EC.title_contains(“pentest”))
# You should see “pentest – Google Search”
print driver.title
finally:
driver.quit()
@firebitsbr