I'm attempting to write a simple script that checks if I have any gmail emails labeled SOMETHING and then opens a firefox browser window to a login page, after which it goes to something else.
Here's what I'm doing:
from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.action_chains import ActionChains import time, imaplib Eusername = "[email protected]" Epassword = "password1" username = "username" password = "password2" imaps = imaplib.IMAP4_SSL('imap.gmail.com','993') imaps.login(Eusername,Epassword) imaps.select('SOMETHING') status, response = imaps.status('SOMETHING', "(UNSEEN)") unreadcount = int(response[0].split()[2].strip(').,]')) while unreadcount > 0: driver = webdriver.Firefox() driver.get('http://wwww.SomeURL.com/some_login.html') time.sleep(3) inputElement = driver.find_element_by_name("user") inputElement.send_keys(username) inputElement = driver.find_element_by_name("pw") inputElement.send_keys(password) inputElement.submit() time.sleep(1) driver.get('http://www.SomeURL.com/somethingelse.html') imaps.select('SOMETHING') typ ,data = imaps.search(None,'UnSeen') imaps.store(data[0].replace(' ',','),'+FLAGS','\Seen')
I've spent hours search and haven't found a solution to maximize the browser window. Elsewhere i've read that there is a windowMaximize() or window_maximize(), but have not been able to get them to work since every configuration I've tried claims it doesn't exist for whatever module.
I only know a little python, and am working in Mac OSX
Using maximize_window() method. Using fullscreen_window() method.
To maximize browser in Selenium, you need to call the maximize() Selenium command to maximize window interface of the driver class. void maximize() – This method is used to maximize the current browser.
Ways to open multiple tabs using Selenium: We need to call “execute_script” method which in turn executes window. open('about:blank', 'secondtab') javascript. Then we need to switch to that tab and for that tab can give any valid URL.
I've never used this functionality before, so I tried it out.
driver.maximize_window()
This seems to work fine - unless I am using Chrome. I'm not sure if this is a defect, as it works flawlessly in IE9 and Firefox.
edit: This is a feature which has yet to be implemented in Chromedriver -= Link to issue =-
edit (8 years later): Apparently this is working in Chrome on Linux and Windows - so, yay! I haven't tested it, but I am optimistic since it has been nearly a decade since the original answer was provided.
Even if this is old, it's cool to know that you can always get values from system then set it by hand. This would work on every webdriver you use.
#!/usr/bin/env python #! -*- coding: utf-8 -*- import selenium from selenium import webdriver import os, sys, time import wx print "example with maximize_window()" nav = webdriver.Firefox() nav.maximize_window() time.sleep(3) nav.quit() print 'example with fixed set_window_size("1024", "768")' nav = webdriver.Firefox() nav.set_window_size("1024", "768") time.sleep(3) nav.quit() print "example grabbing size with wx (wxWidgets)" nav = webdriver.Firefox() app = wx.App(False) #wx.App(False) # the wx.App object must be created first. screenxy = wx.GetDisplaySize() # returns a tuple nav.set_window_size(screenxy[0], screenxy[1]) time.sleep(3) nav.quit() sys.exit(0)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With