【问题标题】:Selenium WebDriver closes after everything is doneSelenium WebDriver 在一切完成后关闭
【发布时间】:2016-10-27 20:10:43
【问题描述】:

所以我正在尝试使用 Selenium 和 Python 制作一个 Messenger 机器人。我没有任何代码错误,我的代码工作得很好,问题是完成后它只会杀死 WebDriver。 这是我的代码:

从硒导入网络驱动程序

login_email = "" #你的脸书邮箱 login_password = "" #你的脸书密码

def login_pulamea():

driver = webdriver.Chrome() driver.get("http://messenger.com") #Waits for page to load driver.implicitly_wait(10) # Inputing email email_box = driver.find_element_by_xpath("""//*[@id="email"]""") email_box.clear() email_box.send_keys(login_email) # Inputing password password_box = driver.find_element_by_xpath("""//*[@id="pass"]""") password_box.clear() password_box.send_keys(login_password) #Submit details submit_button = driver.find_element_by_xpath("""//*[@id="loginbutton"]""") submit_button.click() login_pulamea()

【问题讨论】:

  • “完成后它只会杀死 WebDriver” - 这就是应该发生的事情。 Selenium 并不是真正为您希望它做一些事情然后让您接管驾驶的情况而设计的。
  • 那么我怎样才能让它在执行后保持打开状态?
  • Protractor 有一个browser.pause 函数,可以调试。

标签: python selenium


【解决方案1】:

我还没有尝试过,但我认为这是你可以做的,我相信这只适用于 firefox,但这对你来说应该不是问题,因为你没有测试任何特定的浏览器

  • 在您的脚本之外启动浏览器,因此当您的脚本退出时,您的浏览器会保持启动状态。 或者,您可以尝试提到here
  • 使用PersistentWebdriver 类连接到现有浏览器。

另外需要注意的是最新的 selenium 驱动程序可以很好地与 Firefox 45 配合使用。它知道 Firefox 47 的崩溃问题,因此请确保您坚持使用 45 版。

【讨论】:

  • 检查你的 selenium 和 firefox 版本。 Firefox 47 将无法使用最新版本的 selenium (2.53.5)。所以安装版本 45 并禁用自动更新。
【解决方案2】:

在你想在代码停止之前执行的最后一行代码上放置一个断点,然后在调试模式下运行它(这取决于你的 IDE)。一旦它暂停,你可以终止运行并接管浏览器或任何你想做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2016-01-20
    • 1970-01-01
    相关资源
    最近更新 更多