【问题标题】:How to start a Selenium Firefox web browser minimized?如何最小化启动 Selenium Firefox 网络浏览器?
【发布时间】:2016-10-14 23:37:12
【问题描述】:

我的 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)

【问题讨论】:

  • 你应该看看PhantomJS

标签: python selenium firefox web-scraping


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    虽然 Selenium 确实提供了一个内置函数来最大化窗口,但遗憾的是它没有提供相同的功能来最小化窗口。

    下面的代码会将浏览器窗口移出视线,但我不知道这是否能满足您的要求。

    driver.set_window_position(0, 0)

    【讨论】:

    • 我应该为此导入任何东西吗?它在点说语法无效
    • 这并没有解决问题我仍然得到弹出,一旦浏览器完全加载然后位置正在改变
    • 我认为唯一的其他选择是使用 PhantomJS 而不是 Firefox,因为这将无头运行。如果您不限于使用 Firefox,那么切换到 PhantomJS 可能是您最好的选择。
    【解决方案3】:

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

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

    这段代码不好的一面是,浏览器必须在前台。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      相关资源
      最近更新 更多