我可以在selenium运行时最小化chrome窗口吗?

5 人关注

我有一个项目要从网站上获取一些信息。 我想在chrome窗口中查看这个过程,所以我不能使用无头浏览器。但有时我想最小化chrome窗口。

但我发现在我手动最小化chrome窗口后,selenium会出问题,但有时不会。当出错时,异常

元素在该点不可点击,其他元素将收到点击。

将被提高,或者有时硒就会停止。

我找了很久,有些人说chrome窗口应该被聚焦,不能通过点击窗口标题栏的'-'来最小化。而另一个解决方案是。

web.set_window_position(-2000,-2000)

要使窗口移出屏幕。

还有人说通过模拟快捷键来最小化窗口。但我认为这和手动点击'-'是一样的,我错了吗?

My question is :

  • Does selenium really requires chrome window not minimized? Why sometimes it can run selenium normally after minimized but sometimes not?
  • If I use

    set_window_position(-2000,-2000)

    窗口不可见,然后我点击OS底部的窗口图标(很抱歉,我不知道它叫什么)。通常情况下,当点击时,该窗口将被最小化。那么,对于这个chrome窗口,它是否会被认为是最小化的窗口而出错?

  • 对于我糟糕的英语,我真的很抱歉。我希望我对我的问题有一个清晰的描述。

    Environment:

  • python 3.6
  • chrome 66.0
  • selenium 3.11.0
  • windows server 2012
  • 编辑添加代码。

    wait.WebDriverWait(driver,100000).until(EC.visibility_of_element_located((By.ID,'commMgrCompositionMessage')))
            textArea = driver.find_element_by_id('commMgrCompositionMessage')
            driver.execute_script("arguments[0].value="+"'"+modelStr+"';",textArea)
            time.sleep(1)
            wait.WebDriverWait(driver,10000).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,'#sendemail_label')))
            allSendMailLabel = driver.find_elements_by_css_selector('#sendemail')