selenium - 动作类 - 多个动作不起作用

时间:2017-06-28 14:47:54

标签: selenium action

我想在下面的网站上选择第三级子菜单项。代码在此处执行时没有任何错误,但是不对最终子菜单项执行单击操作。 网站: https://www.bigbasket.com/ 菜单项: 按类别购物 - >个人护理 - >草药

我在Chrome浏览器上运行此脚本。

我尝试选择第二级菜单项但是没有选择第三级菜单项。 顺便提一句,在java脚本执行器的帮助下,我能够成功地完成相同的操作。

Actions builder = new Actions(driver);

Action act = builder.moveToElement(driver.findElement(By.xpath(" .//* [@ id =' navbar'] / ul / li [1] / a&#34 ;)))
                .moveToElement(driver.findElement(By.xpath(" //一个[@href =' / CL /个人护理/ NC = NB']")))                 .moveToElement(driver.findElement(By.xpath(" //一个[@href =' / PC /个人护理/草药-非食品/ NC = NB']&#34 ;)))

。点击() .build();

执行上面设计的Action对象时

// perform()方法

act.perform();

2 个答案:

答案 0 :(得分:0)

您需要在每次操作后添加.build().perform(),因为所有" findElement"方法在新Action开始时运行。并执行"执行()"让他们再次搜索

答案 1 :(得分:0)

尝试以下方法,

Actions builder = new Actions(driver);

Action act=builder.moveToElement(driver.findElement(By.xpath(".//*[@id='navbar']/ul/li[1]/a")))
.moveToElement(driver.findElement(By.xpath("//a[@href='/cl/personal-care/?nc=nb']"))) .click(driver.findElement(By.xpath("//a[@href='/pc/personal-care/ayurvedic-non-food/?nc=nb']")))

.build();

act.perform();