【发布时间】:2018-09-05 15:14:57
【问题描述】:
为什么在浏览器加载时根窗口没有响应...?
这是我的代码中的错误还是所有人都发生了?
可以解决吗?
如果是,怎么做?
我的代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import NoSuchElementException
import time
from tkinter import *
from tkinter import ttk
from tkinter import messagebox
root = Tk()
frame = Frame(root)
labelText = StringVar()
display = Label(frame, textvariable=labelText)
labelText.set("Connecting to the server...")
display.pack()
frame.pack()
display.update()
def change_root_label(message):
labelText.set(message)
display.pack()
frame.pack()
change_root_label("Opening...") #updated code for updating question
driver = webdriver.Chrome()
driver.get('https://google.com')
change_root_label("Opened...")
root.mainloop()
为什么不显示文字Opening..?
【问题讨论】:
-
线程中的任何命令都会在前一个命令终止时执行。您的程序只有一个线程(主线程),因此您的问题。看看multithreading
-
我刚刚更新了一个次要解决方案的问题,对同一个问题有完全相同的问题...
-
你真的需要检查线程是如何工作的:你的问题现在太宽泛了,有人会很努力地回答。为了更好地理解,从去除noise开始:因为我们假设我们的问题与每个命令的执行时间和执行时间有关,所以尝试将所有与 selenium 相关的任务替换为睡眠时间,看看 GUI 发生了什么
标签: python python-3.x selenium tkinter selenium-chromedriver