locators selenium-rc selenium-webdriver selenium-ide buttonclick

selenium-rc - locators selenium



¿Cómo presionar/hacer clic en el botón usando Selenium si el botón no tiene Id? (7)

Tengo 2 botones Cancelar y Siguiente en la misma página, pero solo tiene una identificación (ver el código a continuación). Quería presionar Siguiente, pero cada vez que identifica el botón Cancelar, no solo el botón Siguiente. Cómo resolver este problema?

<td align="center"> <input type="button" id="cancelButton" value="Cancel" title="cancel" class="Submit_Button" style="background-color: rgb(0, 0, 160);"> <input type="submit" value="Next" title="next" class="Submit_Button"> </td>


En Selenium IDE puedes hacer:

Command | clickAndWait Target | //input[@value=''Next'' and @title=''next'']

Debería funcionar bien.


No necesita usar solo identificador como localizadores de elementos. Puedes usar algunas formas de encontrar un elemento. Lea este artículo y elija el mejor para usted.


Para el botón Siguiente puede usar xpath o cssSelector de la siguiente manera:

xpath para el botón Siguiente: // entrada [@ value = ''Siguiente'']

cssPath para el botón Siguiente: entrada [valor = Siguiente]


Puede usar xpath para identificar ese elemento.


Use el selector xpath (aquí está el tutorial rápido) en lugar de id:

#python: from selenium.webdriver import Firefox YOUR_PAGE_URL = ''http://mypage.com/'' NEXT_BUTTON_XPATH = ''//input[@type="submit" and @title="next"]'' browser = Firefox() browser.get(YOUR_PAGE_URL) button = browser.find_element_by_xpath(NEXT_BUTTON_XPATH) button.click()

O bien, si usa Selenium "vainilla", simplemente use el mismo selector xpath en lugar de la ID del botón:

NEXT_BUTTON_XPATH = ''//input[@type="submit" and @title="next"]'' selenium.click(NEXT_BUTTON_XPATH)


utiliza los atributos de texto y valor en lugar de la ID

driver.findElementByXpath("//input[@value=''cancel''][@title=''cancel'']").click();

similarmente para Siguiente.


You can achieve this by using cssSelector // Use of List web elements: String cssSelectorOfLoginButton="input[type=''button''][id=''login'']"; //****Add cssSelector of your 1st webelement //List<WebElement> button =driver.findElements(By.cssSelector(cssSelectorOfLoginButton)); button.get(0).click(); I hope this work for you