绿色风's Blog
专注AutoIT(Au3)
  • 首页
  • 流●年
  • 笔●记
    • 学习随记
    • 源码示例
  • 脚●本
    • UDF(收集)
    • 工作室UDF
    • 工具●教程
    • 教程之GDI
  • 作●品
  • 下●载
  • 情怀ExcelTip
4月292022

AU3自动化操作谷歌Chrome浏览器示例

作者:绿色风   发布:2022-4-29 13:16 Friday   分类:源码示例   阅读:4196次   评论:0条  


--------AU3操作谷歌Chrome浏览器示例------------

示例为最 XPATH 为元素节点----

-----------------------------------------------------------


-----------------------------------------------------------



#PRE_UseX64=n
#RequireAdmin
#NoTrayIcon
#include <wd_core.au3>
#include <wd_helper.au3>

;~ $_WD_DEBUG  =  $_WD_DEBUG_None  ;隐藏控制台 您还可以使用$ _WD_DEBUG_Error
;~ ConsoleWrite(@CRLF &amp; $_WD_ERROR_Success)
;~ ConsoleWrite(@CRLF &amp; $_WD_ERROR_Exception)
;~ ConsoleWrite(@CRLF &amp; $_WD_ERROR_NoMatch)
;~ ConsoleWrite(@CRLF &amp; $_WD_ERROR_InvalidExpression)

Dim $Png_i=0 ;用于储存截图计次 

FileDelete(@ScriptDir &amp; '\chrome.log')
WinKill("[title:" &amp; @ScriptDir &amp; "\chromedriver.exe") ;删除 之前可能因意外导致未关闭的cd

_WD_Option('Driver', 'chromedriver.exe')
_WD_Option('DriverParams', '--verbose --log-path="' &amp; @ScriptDir &amp; '\chrome.log"')
_WD_Option('Port', 9515) ;端口
Local $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"goog:chromeOptions": {"w3c": true,  "excludeSwitches": [ "enable-automation"], "useAutomationExtension": false }}}}'
_WD_Startup()
If @error &lt;&gt; $_WD_ERROR_Success Then
    _CW("--WD启动失败")
    Exit -1
EndIf

_CW("从web驱动程序请求新的会话")
Dim $sSession = _WD_CreateSession($sDesiredCapabilities)
_WD_Window($sSession, "Maximize") ;最大化打开窗口
;--------------------------------------------------------------------------------
_CW("打开页面")
_WD_Navigate($sSession, "https://www.jianyiit.com")
Sleep(3000)
;--------------------------------------------------------------------------------
_ELE_SetV('//*[@id="s"]', 'ddddocr', "input搜索框")
Sleep(2000)
;--------------------------------------------------------------------------------
_ELE_click('//*[@id="searchform"]/button', "点击搜索")
Sleep(4000)
;--------------------------------------------------------------------------------
Local $_tile = _ELE_GetV('//*[@id="post-40"]/div[2]/h2/a', '读取标题')
MsgBox(0, '返回的标题', $_tile)
;--------------------------------------------------------------------------------
Local $rPng = _ELE_SavePNG('//*[@id="post-40"]/div[2]',"截ddddocr图片")
ShellExecute(@ScriptDir&amp;"\"&amp;$rPng)
Sleep(2000)
;--------------------------------------------------------------------------------
_ELE_click('//*[@id="zidingyi"]/a/img', "点击打赏图标")
 Sleep(2000)
 ;--------------------------------------------------------------------------------
 MsgBox(0,"提示","这里是不是该有赏的了。")
_CW("动作完成")
;--------------------------------------------------------------------------------
MsgBox(0, "处理完成!", "单击ok关闭浏览器和控制台")

;删除现有会话
_WD_DeleteSession($sSession)
;关闭web驱动程序控制台应用程序
_WD_Shutdown()
Exit

;------------------------------------------

;参数:  xpath , 当前点标注
;点击元素
Func _ELE_click($sElementSelector, $step = "")
    Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, $sElementSelector, Default, True)
    If UBound($sElement) &gt; 0 Then
        _WD_HighlightElement($sSession, $sElement[0])
        Local $sResponse = _WD_ElementAction($sSession, $sElement[0], "Click")
        _CW("元素点击" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return 0
    Else
        _CW("元素点击失败" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return -1
    EndIf
EndFunc   ;==&gt;_ELE_click

;参数:  xpath ,val ,当前点标注
;设置元素的值 
Func _ELE_SetV($sElementSelector, $val, $step = "")
    Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, $sElementSelector, Default, True)
    If UBound($sElement) &gt; 0 Then
        _WD_HighlightElement($sSession, $sElement[0])
        _WD_SetElementValue($sSession, $sElement[0], $val)
        _CW("元素设置" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
    Else
        _CW("元素设置失败" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
    EndIf
EndFunc   ;==&gt;_ELE_SetV
;参数: xpath   ,当前点标注
;获取 元素的值 
Func _ELE_GetV($sElementSelector, $step = "")
    Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, $sElementSelector, Default, True)
    If UBound($sElement) &gt; 0 Then
        _WD_HighlightElement($sSession, $sElement[0])
        Local $abc = _WD_ElementAction($sSession, $sElement[0], "Text")
        _CW("元素取内容" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return $abc
    Else
        _CW("元素取内容失败" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return ""
    EndIf
EndFunc   ;==&gt;_ELE_GetV

;参数:  xpath , 当前点标注
;保存当前元素的图片
Func _ELE_SavePNG($sElementSelector, $step = "")
    Local $sElement = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, $sElementSelector, Default, True)
    If UBound($sElement) &gt; 0 Then
        Local $sResponse = _WD_ElementAction($sSession, $sElement[0], "Screenshot") 
        MsgBox(0,'$sResponse',$sResponse)
        Local $hFileOpen = FileOpen("png\Screen"&amp;$Png_i&amp;".png", $FO_BINARY + $FO_OVERWRITE + $FO_CREATEPATH)
        FileWrite($hFileOpen, _Base64Decode($sResponse))
        FileClose($hFileOpen)
        $Png_i +=1
        _CW("元素截图" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return "png\Screen"&amp;$Png_i-1&amp;".png" ;成功返回图片地址
    Else
        _CW("元素截图失败" &amp; @TAB &amp; $step &amp; @TAB &amp; $sElementSelector)
        Return -1 ;失败返回 -1
    EndIf
EndFunc   ;==&gt;_ELE_SavePNG

;日志
Func _CW($str = "---------------------------------")
    _FileWriteLog(@ScriptDir &amp; "\行为日志.log", $str)
    ConsoleWrite($str)
EndFunc   ;==&gt;_CW <span><span> </span></span></wd_helper.au3></wd_core.au3>

》》》》 谷歌操作相关文件.rar





本文固定链接: http://www.jianyiit.com/post-404.html

blogger
该日志由 绿色风 于2022-4-29 13:16 Friday发表在 源码示例 分类下。
版权所有:《绿色风's Blog》 → 《AU3自动化操作谷歌Chrome浏览器示例》;
除特别标注,本博客很多文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:

扫描二维码,在手机上阅读
上一篇::autoit WebSocket示例WS协议
下一篇:自架设DDDDOCR验证识别示例UDF

热门文章

相关文章

  • AU3获取内存和CPU占用
  • au3 gdi旋转的文本-转自德语论坛
  • 分享个老代码,程序名锁定
  • Au3[规则验证码]自动识别,并输出程序
  • 播放windows\Media文件夹下的wav波形文件
取消回复

发表评论

亲,头像对么?

97 + 33 =

提交中,请稍候……


木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!


    站点统计
    • 运行时间: 20254 天
    • 日志总数: 365 篇
    • 评论数量: 7222 条
    • 微语数量: 6 条
    • 附件总量: 388 件
  • 逝出的青春

  • 打赏"绿色风"



      扫码关注本站公众号 可搜本站内容

  • Autoit V3 脚本交流群

      常驻群1:905774875
      常驻群2:40672266


  • 链接

    • AU3中文论坛
    • Excel资料库
    • 完美者博客
    • 顺网小哥'S Blog
    • 猛牛哥的博客
    • 网吧系统下载
  • 分类

    • 流●年(66)
    • 笔●记(0)
    • 脚●本(0)
    • 作品(21)
    • 学习随记(51)
    • 源码示例(68)
    • UDF(收集)(26)
    • 工作室UDF(30)
    • 工具●教程(62)
    • 教程之GDI(24)
Copyright © 2013 绿色风's Blog. Powered by emlog. Theme by 射雕天龙. 鄂ICP备2021011689号-1 鄂公网安备42102302000078号 sitemap