• 陈喵喵
    2020-07-15
    讲的很棒!跟着操作下来理解比较透彻。

    作者回复: 嗯嗯 (ง •̀_•́)ง

    
    3
  • 陆俊贤
    2021-03-03
    跟老师汇报一个问题,按照您视频里面的流程,运行程序会报错: selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. 其实我已经加入到path了,通过dos已经运行成功了,Python脚本程序需要运行的话,还需要将chromedriver.exe这个文件拷贝一份放到Python的安装目录中,然后问题就解决了

    作者回复: 可以的

    共 2 条评论
    2
  • Mhc测试
    2020-08-04
    老师,我遇到一个比较坑的情况,我一开始编写是driver = webdriver.chrome(),然后运行报错:TypeError: 'module' object is not callable 我把这个语句改成大写的C, driver = webdriver.Chrome(),这样就能正常运行了,这两种写法有什么区别吗?里面有什么奥义?用小写的c有什么问题呢

    作者回复: 当然有啦 大写Chrome 是系统的类 ,按住ctrol 鼠标点进去看看源码

    共 2 条评论
    1
  • 曹怂怂
    2020-08-03
    老师 我这个报错 Traceback (most recent call last): File "E:/PycharmPJ/FirtPJ/mycim2_createOpertion.py", line 3, in <module> driver = webdriver.Chrome() File "C:\python3.7\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__ desired_capabilities=desired_capabilities) File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__ self.start_session(capabilities, browser_profile) File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session response = self.execute(Command.NEW_SESSION, parameters) File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\python3.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
    展开

    作者回复: 把chrome 驱动放到环境变量里面 然后重新启动 pycharm

    共 3 条评论
    1
  • Teng
    2020-07-20
    mac os chromedriver 配置, 可以直接 放到 /usr/local/bin 执行 mv chromedriver /usr/local/bin 就可以执行demo的代码了

    作者回复: 嗯嗯 是的

    
    1
  • Geek_227482
    2023-02-14 来自北京
    老师,为什么我在定位元素的时候,find_element 后面没有by_**呢

    作者回复: 没有提示可能是ide的问题,直接输入就行 只要编译不报错就行

    
    
  • SailorMoon.彦
    2022-10-31 来自上海
    老师,我遇到的问题是找不到驱动,后来我将chromedriver复制到python安装的路径下就没报错了,环境变量的顺序我也调整了,但是python下有chromedriver才不报错。是为啥呀

    作者回复: 把chromedriver的路径设置到环境变量

    
    
  • Quiet silence🍂
    2022-08-29 来自北京
    老师,按照您视频里面的代码写的,但是我一运行就报这个错: Traceback (most recent call last): File "D:\pythonproject\pythonProject1\demo01.py", line 7, in <module> driver.find_element_by_id('kw').send_keys('selenium') AttributeError: 'NoneType' object has no attribute 'send_keys'

    作者回复: 这个错误信息表示在执行 `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 代码,来操作隐藏或被覆盖的元素。 你可以检查以上三种情况,看看哪一种是导致该错误的原因,并进行相应的调整。

    
    
  • Quiet silence🍂
    2022-08-29 来自北京
    Traceback (most recent call last): File "D:\pythonproject\pythonProject1\demo01.py", line 7, in <module> driver.find_element_by_id('kw').send_keys('selenium') AttributeError: 'NoneType' object has no attribute 'send_keys'

    作者回复: 这个错误信息表示在执行 `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 代码,来操作隐藏或被覆盖的元素。 你可以检查以上三种情况,看看哪一种是导致该错误的原因,并进行相应的调整。

    
    
  • 婷婷
    2022-06-15
    find_element_by_id 目前也可以调用,但是是不推荐的调用,现在最新的方式是建议使用哪个呢?

    作者回复: 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` 包。

    
    