• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python实现selenium网络爬虫的方法小结

    selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题,selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器,这里只用到谷歌浏览器。

    1.selenium初始化

    方法一:会打开网页

    # 该方法会打开goole网页
    from selenium import webdriver
    url = '网址'
    driver = webdriver.Chrome()
    driver.get(url)
    driver.maximize_window() # 实现窗口最大化

    方法二:不会打开网页

    # 该方法会隐式打开goole网页
    from selenium import webdriver
    url = '网址'
    driver = webdriver.ChromeOptions()
    driver.add_argument("headless")
    driver = webdriver.Chrome(options=driver)
    driver.get(url)

    driver = webdriver.Chrome()出错是因为没有chromedriver.exe这个文件

    2.元素定位

    在selenium中,可以有多种方法对元素进行定位,个人通常喜欢用Xpath和selector来定位元素,这样就不用一个一个的去找节点,直接在网页上定位到元素复制就行。

    driver.find_element_by_id() # 通过元素ID定位
    driver.find_element_by_name() # 通过元素Name定位
    driver.find_element_by_class_name() # 通过类名定位
    driver.find_element_by_tag_name() # 通过元素TagName定位
    driver.find_element_by_link_text() # 通过文本内容定位
    driver.find_element_by_partial_link_text()
    driver.find_element_by_xpath() # 通过Xpath语法定位
    driver.find_element_by_css_selector() # 通过选择器定位

    注:若寻找多个元素,要记得用复数来选择(element改为elements)

    # 例如
    [i.text for i in driver.find_elements_by_xpath()]

    3.建立点击事件

    因为有些网站的需求,需建立点击事件,
    如下图的这种时间选择,需要设置点击和输入内容,设置的方法也很简单。

    driver.find_element_by_css_selector('').click() # 点击
    driver.find_element_by_css_selector('').send_keys('2021-3-9') # 输入内容

    4.切换窗口

    有些网站点击之后会产生新窗口,这时就需要进行窗口的切换才能进行元素定位

    win = driver.window_handles # 获取当前浏览器的所有窗口
    driver.switch_to.window(win[-1]) # 切换到最后打开的窗口
    driver.close() # 关闭当前窗口
    driver.switch_to.window(win[0]) # 切换到最初的窗口

    5.iframe问题

    有些网站会采用iframe来编写页面,这时就需要进入到iframe才可以获取元素,一般有多少个iframe就需要进入多少个iframe。

    # 有两个iframe,需逐步进入
    iframe1 = driver.find_element_by_xpath('')
    driver.switch_to.frame(iframe1)
    iframe2 = driver.find_element_by_xpath('')
    driver.switch_to.frame(iframe2)

    到此这篇关于python实现selenium网络爬虫的文章就介绍到这了,更多相关python selenium网络爬虫内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python selenium模拟网页点击爬虫交管12123违章数据
    • python爬虫之利用Selenium+Requests爬取拉勾网
    • python爬虫selenium模块详解
    • python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
    • Python爬虫之Selenium实现关闭浏览器
    • Python爬虫中Selenium实现文件上传
    • Python爬虫之Selenium下拉框处理的实现
    • 教你如何使用Python selenium
    上一篇:python 实现以相同规律打乱多组数据
    下一篇:python读写修改Excel之xlrd&xlwt&xlutils
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python实现selenium网络爬虫的方法小结 python,实现,selenium,网络,