小鱼干_master
2021-02-20 16:45
采纳率: 100%
浏览 361

python中selenium使用浏览器打开后无效操作的问题

问题如下:
使用selenium实例化对象后,进行打开网页的操作,但是仅打开浏览器,并不执行打开网页地址的操作,
且后面的时间函数以及关闭函数都不会执行.

使用过谷歌和火狐浏览器两种  问题都是同样出现的
其中谷歌 先是使用最新版本的软件和浏览器驱动,但是发现末尾的版本不同

 

所以尝试 降低浏览器版本以及下载旧的浏览器驱动,但是这样操作以后,问题还是一样没法解决



于是改使用火狐 下载了对应的浏览器版本和浏览器驱动程序,发现也只是打开浏览器 显示空白页 并不去 执行打开网页

其中驱动程序版本和浏览器是仔细核对过的 这里应该并无问题
然后也试着把驱动程序和浏览器程序放入系统环境变量

但是问题还是没有得到解决,请问这样子的问题 应该是出在哪里呢

 

from selenium import webdriver
import time

#实例化对象=指定浏览器和设置浏览器驱动路径  当前路径下的chromedriver
bro=webdriver.Firefox(executable_path='./geckodriver.exe') #火狐
#bro=webdriver.Chrome(executable_path='./chromedriver.exe')#谷歌


# #让浏览器发起一个指定url请求
bro.get(url='https://www.baidu.com')

time.sleep(5)
bro.quit()#关闭浏览器
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • ProfSnail 2021-02-20 17:10
    已采纳

    把你从网上下载的chromedriver.exe放在python安装包的目录下面。比如我的安装包路径在C:\Users\zhang\AppData\Local\Programs\Python\Python37;那么我的chromedriver.exe就在这个目录下面。

    from selenium import webdriver
    import time
     
    bro=webdriver.Chrome()#谷歌
    bro.get(url='https://www.baidu.com')
    time.sleep(5)
    bro.quit()#关闭浏览器

    运行起来没什么问题。

    如果还有问题,私信与我交流。 

    已采纳该答案
    1 打赏 评论
  • 小鱼干_master 2021-02-21 16:14

    最后  答题的老哥折腾了很久 最后发现是selenium 打开的浏览器是旧版本的
    (至于为啥是旧版本浏览器,可能,也许是某个路径下面存在的旧浏览器)
    这样导致了驱动程序和浏览器版本无法对应上,也就无法操控浏览器
    解决办法:
    指定浏览器的路径,以免打开旧浏览器
    代码如下:    只能直接py文件运行     pychram中会提示options参数问题

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    options = Options()       
    options.binary_location = "C:\Program Files\Google\Chrome\Application\chrome.exe"   # 这里是你指定浏览器的路径
    driver = webdriver.Chrome(chrome_options=options) 
    driver.get('http://www.xxx.com')#你的网址
    
    
    浏览器驱动程序 可以放在python的安装目录下
    这样 运行脚本的时候,程序会自动找到驱动,可以不用写在代码里指定驱动路径
    
    希望以后遇到此问题的朋友也能顺利解决问题~
    
    
    1 打赏 评论
  • Imobs 2021-02-20 18:01

    /geckodriver.exe试下给绝对路径

    打赏 评论

相关推荐 更多相似问题