selenium的基本操作

1: 安装浏览器(火狐)驱动, 并配置和pycharm一样的环境变量

    geckodriver.exe: 是selenium用来打开火狐浏览器的驱动, 需要将它和python.exe放在一起

    Chromedriver.exe 是谷歌的驱动

    注意: 不兼容的时候回出现启动错误, geckodriver.exe的版本必须和火狐浏览器的版本兼容


2: 在pycharm中, 安装selenium

        方法一:

        



        方法二:

    在cmd命令行里面敲 pip install selenium

                                             


3: 网页中通过js渲染的数据, 爬虫的解决办法

        [1] :去静态源代码中查找

                <script> var infolist = { "name": "123",} </script>

        [2] :抓包或者网络请求中, 查看是否有类似的json的get请求, 直接请求这个json的api拿到数据

        [3] :使用phantomjs或者selenium进行访问动态页面时, 而静态页面仍然使用requests进行获取

4: selenium基本用法

        [1] :selenium是一种测试框架, 可以应用在爬虫项目中

        [2] :selenium框架提供了许多元素定位的方法 find_element_by_id() 这些方法底层使用python代码写的, 提取速度上回慢一点, 通常情况下, 使用phantomjs/ selenium 也只是获取js渲染后的网页源代码, 而网页中数据的提取, 还可以使用xpath, re, bs4, etree 等

5: selenium 框架的元素定位

        [1] :通过id定位到输入框             keyword =  driver.find_element_by_id('  ')

        [2] :在向输入框输入内容之前, 可以先将之前的旧内容清空             keyword.clear()

        [3] :向输入框输入内容send_keys            keyword.send_keys('   ')

        [4] :通过class定位到搜索按钮           search_btn =  driver.find_element_by_class_name('s_btn')

        [5] :点击......按钮            search_btn.click()

        [6] :通过一个连接标签的文本内容定位标签            driver.find_element_by_link_test('贴吧')

                                                                                    driver.find_element_by_xpath('   ')  

        [7] :批量获取元素            res = driver.find_element_by_css_selector('.result')

        [8] :获取js渲染后的网页源代码            driver.page_source

        [9] :将浏览器driver对象退出            driver.close()

                    








猜你喜欢

转载自blog.csdn.net/weixin_42351510/article/details/80747946