import time
from selenium import webdriver
def selenium_solver(cols, rows, result_img):
driver = webdriver.Firefox()
driver.get("http://www.griddler.co.uk/Solve.aspx")
driver.find_element_by_id("TextboxNumberOfColumns").send_keys(21)
driver.find_element_by_id("TextboxNumberOfRows").send_keys(21)
driver.find_element_by_id("ButtonNext").click()
time.sleep(1)
count = 0
for col in cols:
flag = 0
while flag == 0:
try:
driver.find_element_by_id("TextboxColumnDefinition"+str(count)).send_keys(col.strip()[::-1])
flag = 1
except:
time.sleep(1)
count+=1
driver.find_element_by_id("ButtonNext").click()
time.sleep(2)
count = 0
for row in rows:
flag = 0
while flag == 0:
try:
driver.find_element_by_id("TextboxRowDefinition"+str(count)).send_keys(row.strip()[::-1])
flag = 1
except:
time.sleep(1)
count+=1
driver.find_element_by_id("ButtonNext").click()
time.sleep(2)
print result_img + 'done'
driver.save_screenshot(result_img)
driver.quit()
#puzzle 3:
puzzle ='7.1.1.1.7 , 1.1.1.2.1.1 , 1.3.1.2.1.1.3.1 , 1.3.1.2.2.1.3.1 , 1.3.1.2.1.1.3.1 , 1.1.1.1.1 , 7.1.1.1.7 , 1.2 , 5.7.2.1.1 , 6.2.1.1.1.1 , 1.4.1.4 , 1.1.1.2.1.1.2.1 , 5.2.3.1 , 1.1.1.2.2 , 3.8 , 1.2.1.1.2.1.1 , 3.3.1.3.1 , 1.1.1.1.3.1.3.1 , 5.3.1.3.1 , 1.1.2.1.1.1 , 1.7 ], 7.1.1.7 , 1.1.1.1.1.1 , 1.3.1.1.1.3.1 , 1.3.1.1.1.1.3.1 , 1.3.1.3.1.3.1 , 1.1.1.3.1.1 , 7.1.1.1.7 , 2.2 , 1.1.1.2.4.5 , 1.1.1.2.1.1 , 4.4.1.1.1.1 , 2.2.3.4 , 1.1.1.1.1.2.1.1 , 1.4.2 , 1.2.1.3.7 , 1.1.6.1.1 , 1.1.1.3.1.3.1 , 1.1.1.3.1.3.1 , 3.1.1.2.1.3.1 , 1.2.1.1.1 , 4.1.2.1.7'
pos = puzzle.split('],')
cols = pos[0].split(',')
rows = pos[1].split(',')
selenium_solver(cols,rows,'puzzle3.png')
#puzzle 1,2
puzzles = ['7.2.7 , 1.1.1.1.1.1 , 1.3.1.1.1.1.3.1 , 1.3.1.3.1.1.3.1 , 1.3.1.1.1.1.1.3.1 , 1.1.2.1.1 , 7.1.1.1.7 , 2.1 , 5.5.1.2.1.1 , 3.1.1.1.2.1 , 2.2.1.3.1.3 , 1.2.1.1.2.1.1.1 , 4.5.1.5 , 1.2.1.1.2 , 3.3.7 , 1.1.1.2.1.1.1.1 , 3.1.3.1 , 1.1.1.1.1.1.3.1 , 1.2.4.1.3.1 , 1.2.1.2.1.1 , 1.2.1.7 ], 7.3.7 , 1.1.1.3.1.1 , 1.3.1.3.1.3.1 , 1.3.1.1.2.1.3.1 , 1.3.1.1.1.1.3.1 , 1.1.1.1.1.1 , 7.1.1.1.7 , 1.1.1.1.1.3.5 , 3.5.1 , 1.2.1.1.6 , 1.2.5.2.1.3 , 3.1.1.1.1.2 , 1.1.1.2 , 1.1.1.2.1.7 , 3.2.1.1.1 , 1.1.1.2.1.1.3.1 , 1.5.1.1.3.1 , 2.1.2.1.3.1 , 1.7.1.1 , 2.1.1.3.7 ','7.3.1.7 , 1.1.2.1.1.1 , 1.3.1.2.2.1.3.1 , 1.3.1.5.1.3.1 , 1.3.1.1.1.3.1 , 1.1.1.1.1 , 7.1.1.1.7 , 1.1.1 , 5.3.1.2.1.1 , 4.4.1.2.1 , 5.2.1.1.3 , 1.2.1.1.2.1.1.1 , 3.5.1.5 , 1.2.1.1.2 , 3.3.7 , 1.1.1.2.1.1.1.1 , 3.1.3.1 , 1.1.5.1.3.1 , 1.2.3.1.1.3.1 , 1.2.3.1.1.1 , 1.2.7 ], 7.3.7 , 1.1.1.3.1.1 , 1.3.1.3.1.3.1 , 1.3.1.1.2.1.3.1 , 1.3.1.1.1.1.3.1 , 1.1.1.1.1.1 , 7.1.1.1.7 , 1.1.1.1.1.3.5 , 2.5.2 , 1.1.2.1.2.1.1 , 4.4.1.4 , 4.1.1.6.4 , 1.1.1.3 , 1.1.1.1.2.7 , 3.2.1.1.1 , 1.1.1.2.1.1.3.1 , 1.7.1.3.1 , 2.1.3.1.3.1 , 1.7.1.1 , 2.1.2.7 ']
puzzle_name = 0
for puzzle in puzzles:
in_post = 0
puzzle_name+=1
pos = puzzle.split('],')
cols = pos[0].split(',')
rows = pos[1].split(',')
while (in_post < 21):
tmp_rows = rows[:]
tmp_rows.insert(in_post,'1')
result_img ='puzzle'+str(puzzle_name)+'-'+str(in_post)+'.png'
selenium_solver(cols,tmp_rows,result_img)
in_post += 1