首页 > 解决方案 > 无法通过 Python 使用 IEDriverServer 和 Selenium 提取页面标题和 page_source

问题描述

我刚刚开始硒编码。我有 python 3.6.6,在 jupyter notebook 上执行以下代码(使用 chrome broser)

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Ie("C:\\Python 36\\IEDriverServer.exe")
driver.get('https://google.com')

print(driver.title)
print(driver.page_source)
driver.close()

这给出了以下输出:

WebDriver WebDriver 这是 WebDriver 服务器的初始启动页面。

在此过程中,IE 浏览器打开并转到 google.com(任何所需的站点)但没有关闭

标签: pythonseleniuminternet-explorerwebdriverwaitselenium-iedriver

解决方案


要提取页面标题页面源,您需要:

  • 调用FQDNhttps://www.google.com/通过get(),即包括www
  • 诱导WebDriverWait使可点击的WebElement具有交互性。
  • 在结束程序时调用quit()而不是close().
  • 您可以使用以下解决方案:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    
    driver = webdriver.Ie("C:\\Python 36\\IEDriverServer.exe")
    driver.get('https://www.google.com/')
    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.NAME, "q")))
    print(driver.title)
    print(driver.page_source)
    driver.quit()
    

推荐阅读