我正在嘗試使用 selenium 在 Excel VBA 中編程以單擊按鈕,但網路(http://app.bde.es/rss_www/)有兩個具有相同“型別”和“類”的按鈕。
<input type="button" value="Consultar en PDF" onclick="irAConsulta(document.getElementById('entidad').value, document.getElementById('objetivo').value, document.getElementById('paisRegistro').value, document.getElementById('sector').value, document.getElementById('ejercicio').value, document.getElementById('dimension').value, document.getElementById('pais').value, '0');">
<input type="button" value="Consultar en EXCEL" onclick="irAConsultaExcel(document.getElementById('entidad').value, document.getElementById('objetivo').value, document.getElementById('paisRegistro').value, document.getElementById('sector').value, document.getElementById('ejercicio').value, document.getElementById('dimension').value, document.getElementById('pais').value, '0');">
我需要點擊第二個下載 Excel 中的資料。
如果我輸入:
OBJ.FindElementByClass("button").Click
單擊第一個(PDF),如何單擊第二個獲取excel資料?
uj5u.com熱心網友回復:
您可以使用 XPath 或 CSS 選擇器定位該元素。
通過 XPath:
OBJ.FindElementByXPath("//input[@value='Consultar en EXCEL']").Click
通過 CSS 選擇器:
OBJ.findElementByCssSelector("input[value='Consultar en EXCEL']").Click
uj5u.com熱心網友回復:
FindElementBy*將始終回傳第一個匹配元素。因此,您使用的定位器策略總是回傳第一個匹配元素,即下載PDF格式資料的控制元件。
要識別以Excel格式下載資料的元素,您需要唯一地識別WebElement,您可以使用以下任一定位器策略:
使用FindElementByCss和onclick屬性:
OBJ.FindElementByCss("input[onclick^='irAConsultaExcel']").Click使用FindElementByCss和value屬性:
OBJ.FindElementByCss("input[value='Consultar en EXCEL']").Click使用FindElementByXPath和onclick屬性:
OBJ.FindElementByXPath("//input[starts-with(@onclick, 'irAConsultaExcel')]").Click使用FindElementByXPath和value屬性:
OBJ.FindElementByXPath("//input[@value='Consultar en EXCEL']").Click
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425785.html
