本篇共 2479 字

Python+selenium操控Chrome浏览器实现百度搜索自动化

作者:admin   分类:网络爬虫   发布:7 月前   阅读量:1   浏览量:1

基础知识:

Selenium 是一个用于Web应用程序测试的工具,是一个用于测试网站的自动化测试工具,支持Chrome、Firefox、Safari等主流界面浏览器和phantomJS无界面浏览器。

Selenium测试直接运行在浏览器中,支持与HTML元素交互,支持表单填写和提交,支持JavaScript,可以非常逼真地模拟用户在浏览器界面上的操作。Mechanicalsoup也是一款非常成熟的爬虫扩展库,功能与selenium类似,但不支持JavaScript。

Selenium支持八种定位页面上元素的方式

选择单个元素:

  1. find_element_by_id()(根据元素的id属性定位)
  2. find_element_by_name()(根据元素的name属性定位)
  3. find_element_by_xpath()(使用XPath选择器语法定位)
  4. find_element_by_link_text()(根据完整的链接文本定位)
  5. find_element_by_partial_link_text()(根据部分链接文本定位)
  6. find_element_by_tag_name()(根据标签名定位)
  7. find_element_by_class_name()(根据类名定位,也就是class属性)
  8. find_element_by_css_selector()(根据CSS选择器语法定位)
  9. 以及对应的选择多个元素的复数形式find_elements_*方法。

Selenium提供了可以操控浏览器的方法

  1. set_window_size()(设置窗口大小)
  2. maximize_window()(最大和窗口)
  3. back()(后退到浏览历史的上一个页面)
  4. forward()(前进到浏览历史的下一个页面)
  5. refresh()(刷新)和属性current_url(当前正在浏览的页面URL)
  6. title(窗口标题)
  7. name(浏览器名称)

使用上面介绍的八种定位方式选择到的页面元素支持:

  1. clear()(清除文本)
  2. send_keys (value)(模拟输入内容)
  3. click()(模拟鼠标单击操作)
  4. submit()(提交表单)
  5. get_attribute(name)(获取元素指定属性的值)
  6. is_displayed()(测试元素是否可见)
  7. is_selected()(测试是否处于选中状态)
  8. is_enabled()(测试是否处于启用状态)
  9. size(返回元素的尺寸)
  10. text(返回元素的文本)等方法和属性进行进一步操作。

还通过selenium.webdriver.common.action_chains.ActionChains类提供了

  • click()
  • click_and_hold()
  • context_click()
  • double_click()
  • drag_and_drop()
  • drag_and_drop_by_offset()
  • key_down()
  • key_up()
  • move_by_offset()
  • move_to_element()
  • move_to_element_with_offset()
  • pause()
  • perform()
  • release()
  • reset_actions()
  • send_keys()
  • send_keys_to_element()

等大量支持鼠标与键盘事件的方法。

准备工作:

安装扩展库selenium,下载Chrome浏览器驱动器,可以参考:Python借助百度搜索引擎爬取Python小屋密切相关文章

参考代码:

标签: selenium python
上一篇: 没有了!
本篇共 0 条评论

留言内容:

还没有任何评论!

还没有登陆,请登录后发表评论!