最实用的selenium使用指南

这篇具有很好参考价值的文章主要介绍了最实用的selenium使用指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 selenium使用

  一 环境搭建

  下载selenium

pip install selenium

下载浏览器驱动(以Edge为例)

在设置中找到当前Edge版本号,在[Microsoft Edge WebDriver - Microsoft Edge Developer](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)中下载对应版本驱动。

将下载的压缩包解压后得到驱动的exe文件,将该文件拖到python安装文件夹的script文件夹下。

在浏览器中的使用:

示例

 from selenium.webdriver import Edge # 引入
  web = Edge() # 创建浏览器对象
  web.get("https://www.baidu.com") # 执行操作,打开百度

二 selenium的简单使用

  1. 引入引擎和需要的类

  2. 创建浏览器对象

  3. 打开网页,可以选中元素操纵和获取信息

  示例

 from selenium.webdriver import Edge
  from selenium.webdriver.common.keys import Keys
  import time
  # 创建浏览器对象
  web = Edge()
  # 打开一个网页
  web.get("https://www.lagou.com")
  # 可以使用xpath 类名 样式查找element
  web.find_element('xpath', '//*[@id="changeCityBox"]/p[1]/a').click()
  # 由于加载需要一点时间,所以需要等待
  time.sleep(1)
  web.find_element('xpath', '//*[@id="search_input"]').send_keys('python', Keys.ENTER)
  time.sleep(1)
  web.find_element('xpath', '//*[@id="jobList"]/div[1]/div[1]/div[1]/div[1]/div[1]/a').click()
  time.sleep(1)
  # 切换selenium操作的页面
  web.switch_to.window(web.window_handles[-1])
  job_detail = web.find_element('xpath', '//*[@id="job_detail"]/dd[2]/div').text
  print(job_detail)
  # 关闭当前页面
  web.close()
  # 切回原窗口
  web.switch_to.window(web.window_handles[0])

注意iframe的存在:

 # 如果源码中有iframe的话,是没有办法直接拿到数据的,必须先切换到iframe中再操作
  frame = web.find_element('xpath', '//*[@id="g_iframe"]')
  web.switch_to.frame(frame)

 注意操作select:

  1. 下拉列表应当先引用下拉列表的支持

from selenium.webdriver.support.select import Select

2. 拿到select元素并进行包装

 sel_el = web.find_element_by_xpath('//*[@id="OptionDate"]')
  # 对元素进行包装, 包装成下拉菜单
  sel = Select(sel_el)

  3. 使用条件切换选项,拿到每个选项中的不同数据

for i in range(len(sel.options)):  # i就是每一个下拉框选项的索引位置
      sel.select_by_index(i)  # 按照索引进行切换
      time.sleep(2)
      table = web.find_element_by_xpath('//*[@id="TableList"]/table')
      print(table.text)  # 打印所有文本信息
      print("===================================")

 文章来源地址https://www.toymoban.com/news/detail-794089.html

三  无头浏览器

  可以通过参数配置的方式来不打开浏览器也能拿到数据

  如果有被iframe包裹的话需要切换到iframe里面才能拿到数据

from selenium.webdriver import Edge
  from selenium.webdriver.edge.options import Options#引入设置项
  import time
  # 准备好参数配置
  opt = Options()
  opt.add_argument("--headless")
  opt.add_argument("--disable-gpu")
  web = Edge(options=opt)  # 把参数配置设置到浏览器中
  web.get("https://music.163.com/#/song?id=1430620302")
  time.sleep(2)
  iframe = web.find_element('xpath', '//*[@id="g_iframe"]')
  web.switch_to.frame(iframe)# 切换到frame中拿取
  # 如何拿到页面代码Elements(经过数据加载以及js执行之后的结果的html内容)
  print(web.page_source)

 

Options基础配置

  1. user-agent

  2. 代理

  3. 不加载图片和css

 opt = Options()
  # 无头浏览器
  opt.add_argument("--headless")
  opt.add_argument("--disable-gpu")
  # 不加载图片和css
  prefs = {"profile.managed_default_content_settings.images": 2,
           'permissions.default.stylesheet': 2}
  opt.add_experimental_option('prefs', prefs)
  # 设置user-Agent
  opt.add_argument('user-agent=' + UserAgent().random)  # 初始化一个别的User-Agent
  # IP池
  proxy_arr = [
      '--proxy-server=http://111.3.118.247:30001',
      '--proxy-server=http://183.247.211.50:30001',
      '--proxy-server=http://122.9.101.6:8888',
  ]
  proxy = random.choice(proxy_arr)  # 随机选择一个代理
  print(proxy)  # 如果某个代理访问失败,可从proxy_arr中去除
  opt.add_argument(proxy)  # 添加代理
  # 添加配置
  driver = Edge(options=opt)

 四 其他实用操作

  如果你的程序被识别到了怎么办?

  1.chrome的版本号如果小于88  在你启动浏览器的时候(此时没有加载任何网页内容), 向页面嵌入js代码. 去掉webdriver

web = Chrome()
  web.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """
     navigator.webdriver = undefined
      Object.defineProperty(navigator, 'webdriver', {
        get: () => undefined
      })
    """
  })
  web.get(xxxxxxx)

 2.chrome的版本大于等于88

option = Options()
  # option.add_experimental_option('excludeSwitches', ['enable-automation'])
  option.add_argument('--disable-blink-features=AutomationControlled')

web操作:

  1. 移动到某一位置点击:

from selenium.webdriver import Edge
  from selenium.webdriver.common.action_chains import ActionChains
  web = Edge()
  verify_img_element = web.find_element_by_xpath('//*[@id="J-loginImg"]')
  ActionChains(web).move_to_element_with_offset(verify_img_element, x, y).click().perform()   # perform提交

2. 拖拽:

btn = web.find_element_by_xpath('//*[@id="nc_1_n1z"]')
  ActionChains(web).drag_and_drop_by_offset(btn, 300, 0).perform()

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:


最实用的selenium使用指南,selenium,测试工具,测试用例,功能测试,python,jmeter,单元测试

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

最实用的selenium使用指南,selenium,测试工具,测试用例,功能测试,python,jmeter,单元测试

 

到了这里,关于最实用的selenium使用指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全测试工具Burpsuit和OWASP ZAP使用入门指南

    安装: 网上有很多相关相关保姆级别教程,所以这里不加赘述了 尽量使用java8版本,破解版兼容8做的比较好 如果发现注册机无法打开或者能打开注册机【run】无法点击唤起软件安装,可以使用命令行工具 java -jar burp-loader-keygen.jar java -Xbootclasspath/p:burp-loader-keygen.jar -jar burps

    2024年02月05日
    浏览(51)
  • 网安工具 | Windows便携式渗透测试环境PentestBox入门到进阶使用指南

    [ 点击 👉 关注「 全栈工程师修炼指南」公众号 ] 微信改版了,现在看到我们全凭缘分,为了不错过【全栈工程师修炼指南】重要内容及福利,大家记得按照上方步骤设置「接收文章推送」哦~ 希望各位看友多多支持【关注、点赞、评论、收藏、投币】,助力每一个梦想。 【

    2024年02月08日
    浏览(42)
  • 软件测试|Python Selenium 库安装使用指南

    简介 Selenium 是一个用于自动化浏览器操作的强大工具,它可以模拟用户在浏览器中的行为,例如点击、填写表单、导航等。在本指南中,我们将详细介绍如何安装和使用 Python 的 Selenium 库。 安装 Selenium 库 使用以下命令可以通过 pip 安装 Selenium 库: 安装 WebDriver 安装selenium之

    2024年02月02日
    浏览(61)
  • 从零开始使用 Astro 的实用指南

    在这个实用的Astro指南中,我将指导你完成设置过程,并告诉你如何构造你的文件。你将学习如何添加页面、交互式组件,甚至是markdown文章。我还会告诉你如何从服务器上获取数据,创建布局,并使用vanilla JavaScript和其他框架添加互动性。准备好享受一些动手的乐趣,因为我

    2024年02月05日
    浏览(43)
  • Selenium使用指南(超详细)

    🍅 视频学习:文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测

    2024年01月21日
    浏览(48)
  • AI辅写疑似度检测:使用PaperPass的七个实用指南

    大家好,今天来聊聊AI辅写疑似度检测:使用论智AI的七个实用指南,希望能给大家提供一点参考。 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: AI辅写疑似度检测:使用论智AI的七个实用指南 随着人工智能技术的迅猛发展,AI辅写

    2024年02月19日
    浏览(53)
  • AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧

      抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。 作为一个生成式AI,SD本身并没有精细的抠图控制能力,它需要借助插件来实

    2024年02月14日
    浏览(52)
  • 【Python爬虫】selenium4新版本使用指南

    Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括 IE(7, 8, 9, 10, 11) , Mozilla Firefox , Safari , Google Chrome , Opera , Edge 等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能

    2024年02月06日
    浏览(45)
  • 浏览器自动化利器Selenium IDE使用指南

    Selenium 是一个浏览器自动化框架,专门为 W3C WebDriver 规范提供了一个与所有主要的 web 浏览器兼容的平台和语言中立的编码接口。github 地址:https://github.com/SeleniumHQ/selenium Selenium IDE 是作为 Selenium 在浏览器 Firefox 和 Chrome 的插件,用于记录、重放测试脚本,并且脚本也可以导出

    2024年02月03日
    浏览(93)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包