暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Selenium 入门

生有可恋 2022-02-10
115

Selenium 是支持 web 浏览器自动化的一系列工具和库的综合项目。


安装 Selenium python 库

    pip install selenium



    检查本地的 Chrome 版本



    下载相应版本的驱动



    解压缩后,测试驱动是否正常



    将 chromedriver.exe 拷贝至 python 根目录



    获取 Demo 代码


      git clone git://github.com/SeleniumHQ/seleniumhq.github.io.git


      安装 python 依赖

        cd  d   seleniumhq.github.io\examples\python
        pip install -r requirements.txt


        代码下载下来后,可以进行 examples/python/tests/getting_started 目录,查看官网的 demo 代码。在实际测试中发现,因为 chrome 环境的问题,无法打开 chrome,需要手动指定 chrome 可执行文件位置。



        在排错过程中,发现在命令行指定报错的 chrome 文件也无法执行,应该是ghost系统中内置的非原版 chrome 的问题。重新指定原版 chrome 可执行文件位置,不再报错。


        在python交互模式,测试 selenium 是否安装正确,使用 selenium 打开浏览器

          >>> from selenium import webdriver
          >>> from selenium.webdriver.chrome.options import Options
          >>> opt = Options()
          >>> opt.binary_location = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
          >>> driver = webdriver.Chrome(options=opt)



          浏览器打开后会提示,浏览器正被自动测试软件控制



          打开指定网页,比如打开百度

            >>> driver.get(r'http://www.baidu.com/')


            我们的目标是模拟手点一下搜索中的相机小图标,它是百度的搜图功能。



            首先是在 F12 开发者工具中定位这个图标



            这个图标是 class名叫 ”soutu-btn" 的节点,我们在 selenium 中定位这个节点,然后执行 click 动作

              >>> from selenium.webdriver.common.by import By
              >>> a = driver.find_element(By.CLASS_NAME, "soutu-btn")
              >>> print(a)
              <selenium.webdriver.remote.webelement.WebElement (session="f194f5a3c6824b834ff9ba64e0a79081", element="993949f2-2d8c-488a-8d6d-f61b223eb86e")>
              >>> a.click()


              可以看到浏览器已经发生变化,切换到搜图模式



              文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论