AutoHotkey-网页自动化Selenium WebDriver由实例学习常用功能(使用XPATH CSS Explorer扩充)

范例:搜寻PCHome线上购物,将查询的商品逐一开启其讯息网页

以ChromeDriver为例。

建立WebDriver物件并浏览网页

driver := ComObjCreate("Selenium.ChromeDriver")  ; 指定chrome.exe路径 driver.setBinary("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")  ; 设定新的执行环境 driver.SetProfile("z:\chrome")  ; addArgument设定Chrome启始状态 driver.addArgument("start-maximized") ;driver.addArgument("headless")  ; 不显示Chrome视窗 driver.addArgument("no-sandbox") driver.addArgument("disable-gpu") driver.addArgument("disable-infobars")  ; --disable-infobars is no longer supported since v76  ; 下载目录设定 ;driver.setPreference("download.default_directory", "C:\temp") ;driver.setPreference("download.directory_upgrade", true) ;driver.setPreference("download.extensions_to_open", "") ;driver.setPreference("download.prompt_for_download", false) ;driver.SetCapability("debuggerAddress", "127.0.0.1:9222")  driver.get("要浏览的网址")  ; 浏览器开启后再变更状态 ;Driver.Window.Maximize() ;driver.window.setSize(800,600) 

寻找网页上的元素

寻找到的元素其类别是WebElement。

element := driver.findElementByName("用name属性寻找") element := driver.findElementByID("用id属性寻找") element := driver.findElementByTag("用HTML标签寻找") element := driver.findElementByClass("用class属性寻找") element := driver.findElementByCss("用CSS选择器寻找") element := driver.findElementByLinkText("用超连结的文字寻找") element := driver.findElementByPartialLinkText("用超连结的部份文字寻找") element := driver.findElementByXPath("用XPATH寻找") 
  • 将findElementBy… 改成 findElementsBy… 就能取多个符合的元素(取得List)

XPath是什么?

XPath,全称为XML Path Language,即 XML路径语言,它是在XML文件中寻找讯息的语言,除了搜寻XML档,也适用搜寻HTML文件。

XPath CSS Explorer

可安装类似XPath CSS Explorer之类的浏览器扩充,以方便查询出页面元素的CSS或XPath。

操作步骤:
1. 按〔F12〕进入DevTools模式
2. 用右键功能表→【检查】,或DevTools最左边的按钮选取要查询的元素
3. 点击DevTools最右侧的〔●●●〕,再按【XPath CSS Explorer】页签
4. 在【Current selector】下方复制需要的CSS或XPath

WebElement的常用方法

  • SendKeys(第一个按键 [,第二个按键])
  • Click(按键)
driver.FindElementByID("keyword").SendKeys("MSI Prestige 14") driver.FindElementByID("doSearch").Click() 

test24_selenium3.ahk

解说影片

##


想在手机阅读更多css资讯?下载【香港硅谷】Android应用
分享到Facebook
技术平台: Nasthon Systems