在Python最大化的webdriver(硒2)(Maximize WebDriver (Selen

2019-07-29 01:00发布

我试图写一个简单的脚本来检查,如果我有一个标SOMETHING任何Gmail中的电子邮件,然后打开Firefox浏览器窗口中登录页面,之后去到别的东西。

下面是我在做什么:

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 = "someone@gmail.com"
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')

我花了几个小时的搜索,并没有发现一个解决方案,最大化浏览器窗口。 在其他地方我读过,有一个windowMaximize()或window_maximize(),但一直没能得到他们的工作,因为每个配置我试着要求它不为任何模块存在。

我只知道一点点巨蟒,并在Mac OSX上我的工作

Answer 1:

我以前从未使用过这个功能,所以我尝试过了。

driver.maximize_window()

这似乎很好地工作 - 除非我正在使用Chrome。 我不知道这是否是一个缺陷,因为它完美的作品在IE9和Firefox。

编辑:这是至今尚未在Chromedriver实现的功能- =链接发出= -



Answer 2:

对于浏览器,应该在未来的构建,其中包括修订,执行: http://code.google.com/p/chromedriver/issues/detail?id=65



Answer 3:

有一个非常简单的方法来创建一个最大化的窗口:

from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# maximized window
chrome_options.add_argument("--start-maximized")

您也可以使用这个库最大化窗口和更多,请参阅文档: https://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Chrome/Options.html



Answer 4:

即使这是旧的,它很酷知道,你总是可以从系统中获取值然后用手将其设置。 这将在每个webdriver的使用工作。

#!/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)


文章来源: Maximize WebDriver (Selenium 2) in Python