课件和 Demo 地址
https://gitee.com/geektime-geekbang/Selenium
作者回复: 嗯嗯 (ง •̀_•́)ง
作者回复: 可以的
作者回复: 当然有啦 大写Chrome 是系统的类 ,按住ctrol 鼠标点进去看看源码
作者回复: 把chrome 驱动放到环境变量里面 然后重新启动 pycharm
作者回复: 嗯嗯 是的
作者回复: 没有提示可能是ide的问题,直接输入就行 只要编译不报错就行
作者回复: 把chromedriver的路径设置到环境变量
作者回复: 这个错误信息表示在执行 `driver.find_element_by_id('kw')` 时返回了 `None`,即没有找到对应的元素,因此无法使用 `send_keys()` 方法对其进行输入操作。 这种情况通常出现在以下几种情况: 1. 元素 ID 错误:请确保 `find_element_by_id()` 方法中传入的 ID 是正确的,且存在于页面中。 2. 元素还没有完全加载出来:有时候,页面元素可能需要一些时间才能加载完全。你可以使用 `time.sleep()` 方法等待一段时间,再尝试查找元素。 3. 元素被覆盖或隐藏:如果元素被其他元素覆盖或隐藏,也会导致 `find_element_by_id()` 方法无法找到元素。你可以使用 `execute_script()` 方法执行 JavaScript 代码,来操作隐藏或被覆盖的元素。 你可以检查以上三种情况,看看哪一种是导致该错误的原因,并进行相应的调整。
作者回复: 这个错误信息表示在执行 `driver.find_element_by_id('kw')` 时返回了 `None`,即没有找到对应的元素,因此无法使用 `send_keys()` 方法对其进行输入操作。 这种情况通常出现在以下几种情况: 1. 元素 ID 错误:请确保 `find_element_by_id()` 方法中传入的 ID 是正确的,且存在于页面中。 2. 元素还没有完全加载出来:有时候,页面元素可能需要一些时间才能加载完全。你可以使用 `time.sleep()` 方法等待一段时间,再尝试查找元素。 3. 元素被覆盖或隐藏:如果元素被其他元素覆盖或隐藏,也会导致 `find_element_by_id()` 方法无法找到元素。你可以使用 `execute_script()` 方法执行 JavaScript 代码,来操作隐藏或被覆盖的元素。 你可以检查以上三种情况,看看哪一种是导致该错误的原因,并进行相应的调整。
作者回复: Selenium 推荐使用 `find_element(By.ID, 'element_id')` 来查找页面元素,而不推荐使用 `find_element_by_id('element_id')` 的方式。使用 `By.ID` 可以实现更加灵活的元素查找,同时可以避免与其他编程语言的关键字产生冲突。 具体使用方式如下: ``` from selenium.webdriver.common.by import By element = driver.find_element(By.ID, 'element_id') ``` 其中,`By.ID` 表示通过元素 ID 进行查找,`'element_id'` 是元素的 ID 值。通过这种方式,就可以实现更加灵活、可维护的元素查找方式。除了 `By.ID`,还可以使用其他方法,如 `By.XPATH`、`By.CLASS_NAME`、`By.NAME` 等。 需要注意的是,在使用 `By` 时,需要引入 `selenium.webdriver.common.by` 包。