python - 无法通过 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(任何所需的站点)但没有关闭
解决方案
要提取页面标题和页面源,您需要:
- 调用FQDN即
https://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()
推荐阅读
- python - numpy 在 python 3.8.3 中生成错误消息
- python - 警告:调用迭代器没有完全读取缓存的数据集。为了避免数据集的意外截断
- vue.js - 在 Nuxt "v-for" 中,如何在 v-for 中的每个项目中使用相同的计算属性时避免重复计算?
- javascript - 函数返回空数组,如何解决?Javascript,猫鼬
- sql - 将 Pentaho Kette 与 PostgreSQL 连接时出错
- docker - 我做了一个 Elasticsearch 集群,我有 3 台 azure VM 机器,只有一个节点是 Master。一段时间后集群不断崩溃
- flutter - Flutter Desktop - 系统托盘实现
- python - Matplotlib 错误“x 和 y 必须具有相同的第一维,但具有形状 (1,) 和 (6,)”
- vba - 构建记录集时未找到方法或数据成员错误
- android - 如何在颤动中将 DateTime 转换为 TZDateTime?