Excel VBA Selenium 单击第二个按钮
Excel VBA Selenium click second button
我正在尝试使用 selenium 在 Excel VBA 中编程以单击按钮,但网络 (http://app.bde.es/rss_www/) 有两个具有相同“类型”和“Class".
<input type="button" class="boton" 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" class="boton" 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 数据?
您可以使用 XPath 或 CSS 选择器定位该元素。
通过 XPath:
OBJ.FindElementByXPath("//input[@value='Consultar en EXCEL']").Click
通过 CSS 选择器:
OBJ.findElementByCssSelector("input[value='Consultar en EXCEL']").Click
FindElementBy*
将始终 return 第一个匹配元素。所以你用的总是return第一个匹配的元素,就是下载PDF格式数据的控件
要识别以 Excel 格式下载数据的元素,您需要识别 uniquely and you can use either of the following :
使用 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
我正在尝试使用 selenium 在 Excel VBA 中编程以单击按钮,但网络 (http://app.bde.es/rss_www/) 有两个具有相同“类型”和“Class".
<input type="button" class="boton" 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" class="boton" 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 数据?
您可以使用 XPath 或 CSS 选择器定位该元素。
通过 XPath:
OBJ.FindElementByXPath("//input[@value='Consultar en EXCEL']").Click
通过 CSS 选择器:
OBJ.findElementByCssSelector("input[value='Consultar en EXCEL']").Click
FindElementBy*
将始终 return 第一个匹配元素。所以你用的
要识别以 Excel 格式下载数据的元素,您需要识别
使用 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