如何最小化启动Selenium Firefox Web浏览器?

时间:2016-06-14 09:49:32

标签: python selenium firefox web-scraping

我的python脚本处于循环中并且每半小时运行一次,当代码运行时它会打开Firefox浏览器。因此,如果我突然工作/查看任何其他屏幕,则会弹出浏览器窗口。我希望我的浏览器开始最小化或消失但我的代码应该执行

while(True):
    driver = webdriver.Firefox()
    driver.get("http://iiitb.campusmetalink.com/cml/pages/setup/ModuleHome.jsf")
    driver.find_element_by_name("recqIDId:j_id15").send_keys("IIITB")
    driver.find_element_by_name("recqIDId:j_id17").send_keys("username")
    driver.find_element_by_name("recqIDId:j_id19").send_keys("password")
    driver.find_element_by_name("recqIDId:j_id25").click()
    WebDriverWait(driver, 100)
    driver.find_element_by_xpath('//*[@id="moduleForm:j_id40_body"]/table/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[6]/td[2]/a').click()
    driver.find_element_by_xpath('//*[@id="scheduleForm:coltrm"]').send_keys("2016TERM2")
    driver.find_element_by_xpath('//*[@id="scheduleForm:search"]').click()
    elements = driver.find_elements_by_xpath('//*[@id="scheduleForm:svres:tb"]/tr')
    if( len(elements) > 6):
        os.system("C:/wamp64/bin/php/php5.6.16/php C:/wamp64/www/srishti/space_auth/Source/Source_code/public/mail_includes.php")
    print elements
    driver.close()
    time.sleep(1800)

3 个答案:

答案 0 :(得分:0)

虽然Selenium确实提供了内置功能来最大化窗口,但不幸的是它没有提供相同的功能来最小化窗口。

以下代码会将浏览器窗口移开视线,但我不知道这是否符合您的要求。

driver.set_window_position(0, 0)

答案 1 :(得分:0)

不幸的是,selenium webdriver没有提供任何内置功能来最小化窗口。 但是,您可以使用下面的代码将窗口置于视线之外。 driver.manage()。window()。setPosition(new Point(-2000,0));

答案 2 :(得分:0)

正如其他人已经说过的那样:selenium webdriver没有提供任何内置功能来最小化窗口但是有很少的环形交叉方式可以做到这一点。 我最喜欢的方法之一是使用win32gui和win32con:

import win32gui, win32con
win32gui.ShowWindow(win32gui.GetForegroundWindow(), win32con.SW_MINIMIZE)

此代码的不好之处在于浏览器必须位于前台。