如何从seleniumWebDriver for Java中的表中选择项目

时间:2017-11-02 15:02:23

标签: java selenium selenium-webdriver

我是QA自动化的新手,我正在使用selenium。

我正在尝试从表格中选择一个打开的子菜单。我想选择的选项是“NuevaCartaCrédito”。

菜单中的代码是:

<div id='lmoptions'  style="border-style: outset;font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 100%;height: 5px;position: absolute;background-color: #88BBD9;" >
<table id='lmoptionstable'>
    <tr onmouseover="parent.highliterow(this)" onclick="parent.clickModule('immenu','IM','V', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Vista</label></td></tr>

    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','I', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Nueva Carta Crédito</label></td></tr>
    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','CP', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Preaviso Completo</label></td></tr>
    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','A', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Enmienda</label></td></tr>
    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','N', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Negociación</label></td></tr>
    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','U', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Actualización</label></td></tr>
    <tr onmouseover='parent.highliterow(this)' onclick="parent.clickModule('immenu','IM','W', this.children[0].innerText);parent.hidepopup();"><td><label style="font-size:10;font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;width: 120px;overflow:hidden;">Bandeja de Trabajo</label></td></tr>


</table>

有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:2)

当您发布问题时,您应该插入解决问题的尝试:How do I ask a good question?

你可以这样做:

        WebElement table= driver.findElementById("lmoptionstable");
        WebElement el= table.findElement(By.xpath(".//tr/td/label[text()='Nueva Carta Crédito']"));
        el.click();

答案 1 :(得分:1)

如果NuevaCartaCrédito选项可见,您只想点击它,只需使用此功能:

driver.findElementByXPath("//*[text()='Nueva Carta Crédito']").Click();

答案 2 :(得分:1)

如果您要点击的元素可见,

    driver.findElementByXPath("//*[text()='Nueva Carta Crédito']").Click();

如果您想要点击的元素仅在鼠标悬停/悬停后可见,

    Actions action = new Actions(driver);
    WebElement elementToHover = driver.findElement(By.id("lmoptionstable"));
    WebElement elementToClick = driver.findElement(By.xpath("//*[text()='Nueva Carta Crédito']"));
    action.moveToElement(elementToHover).click(elementToClick).build().perform();