Selenium

selenium:是一个web的自动化测试工具,可以直接运行在浏览器上,
但是并不自带浏览器,需要有浏览器驱动,selenium可以根据我们的代码指令
让浏览器自动加载页面,这时得到的页面源码是经过浏览器渲染之后的,
然后我们就可以在页面源码中寻找节点(动态加载的网页,模拟登录)

  1. 导包from selenium import webdriver

  2. 加载页面

driver = webdriver.Firefox(
    executable_path='/home/ljh/桌面/driver/geckodriver'
)
  1. 设置为无头浏览器
opt = webdriver.FirefoxOptions()
opt.set_headless()
driver = webdriver.Chrome(
    options = opt,
    executable_path='/home/zwz/Desktop/zwz/chromedriver'
)
  1. 导入容错的模块
from selenium.common import exceptions
try:
    driver.get('https://www.baidu.com/')
except exceptions.TimeoutException as err:
    print(err,'请求超时')
  1. 页面的相关操作:
    Selenium 的 WebDriver提供了各种方法来寻找元素,假设下面有一个表单输入框如下:

<input type="text" name="user-name" id="passwd-id">

获取id标签值

element = driver.find_element_by_id("passwd-id")

获取name标签值

element = driver.find_element_by_name("user-name")

获取标签名值

element = driver.find_elements_by_tag_name("input")

也可以通过XPath来匹配

element = driver.find_element_by_xpath("//input[@id='passwd-id']")

driver.find_element_by_xpath()# 根据xpath路径定位标签(到找单个)

driver.find_elements_by_xpath()# 根据xpath路径定位标签(找所有)

driver.find_element_by_css_selector()# 根据css选择器定位标签

driver.find_element_by_partial_link_text()# 根据标签文本(完整)定位

driver.find_element_by_id()# 根据id寻找节点

driver.find_element_by_class_name()# 根据class属性寻找节点

  • 向下滚动到页面底部

driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')

  • 关闭当前所在的窗口

driver.close()

  • 退出浏览器

driver.quit()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selen...
    厲铆兄阅读 14,104评论 3 68
  • 洞见SELENIUM自动化测试 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出...
    厲铆兄阅读 11,711评论 3 47
  • 基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位。 目前市面上有分门别类的自动...
    厲铆兄阅读 11,303评论 6 43
  • 这篇文章在介绍官网的同时使用了比较多的脚本示例,示例里遇到的问题有部分在本篇文章进行了解释,还有一篇文章专门记录了...
    顾顾314阅读 14,430评论 3 32
  • Selenium 官网Selenium WebDriver官网webdriver实用指南python版本 WebD...
    顾顾314阅读 47,231评论 0 34

友情链接更多精彩内容