twitter-bootstrap – 在Selenium中单击时,Twitter引导模式按钮
我想知道是否有其他人遇到过这个问题.我有一个使用twitter bootstrap的网站,在我的脚本中的一个点我打开一个模态,我经历并与该模态中的几个对象(文本输入,下拉列表,复选框)进行良好的交互.但是当我最后点击提交按钮时,没有任何反应.
就硒而言,它点击它,如果我在运行时观看屏幕,可以看到按钮突出显示就像点击一样,但没有任何反应.如果我之后尝试点击它,除按钮突出显示之外仍然没有任何反应.如果我然后按RETURN或ENTER然后它会发射… 我试过而不是单击发送ENTER或RETURN但它们都做同样的事情而且完全失去了,我通过XPATH识别对象,据我所知看起来正确… 这是代码中的一大块,请记住在此之前的所有内容…… threadSesh.driver.findElement(By.xpath(".//*[@id='createDeal']").click(); threadSesh.driver.findElement(By.xpath("html/body/div[3]/div[2]/div/dl/dd[1]/input").clear(); threadSesh.driver.findElement(By.xpath("html/body/div[3]/div[2]/div/dl/dd[1]/input").sendKeys("MyNewProject"); Select myDropDown = new Select(threadSesh.driver.findElement(By.xpath("html/body/div[3]/div[2]/div/dl/dd[3]/select"))); myDropDown.selectByVisibleText("Buy Out"); threadSesh.driver.findElement(By.xpath(".//*[@id='ProjectOriginator']/li/input").click(); threadSesh.driver.findElement(By.xpath(".//*[@id='ProjectOriginator']/li/input").sendKeys("John smith"); threadSesh.driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]").click(); 它的最后一行什么都不做……任何建议都将非常感谢! 另外值得指出我正在使用ie并且无法在chrome或FF中测试这个(这个网站上我不测试版本,它是一个内部平台). 另一个可能有用的信息,按钮实际上不是一个按钮,而是使用twitter bootstrap东西看起来像按钮的某种类型的参考,它的来源如下: – <a class="btn btn-small btn-info" type="button" style="margin-right: 7px; padding-left: 15px; padding-right: 15px;" data-bind="click: ok" href="#">Create</a> 如果我将它记录在firefox的seleneium addin中,则输出: driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click(); 解决方法
我设法找到了解决方案,但仅仅是纯粹的运气.基本上在我点击取消或创建链接之前,我正在与一些tagit输入进行交互,并且必须做一些小工具才能让它们工作.
这些标签位于模态中的一个div(html / body / div [3] / div [2])中,链接位于另一个(html / body / div [3] / div [3])中,这个摆弄似乎已经阻止Selenium以某种方式看到另一个div,虽然我不确定如何. 要解决这个问题,我只需点击顶层的模态(html / body / div [3]),然后就会发现下层链接很好!如何修复它我不知道,但至少我的脚本现在再次工作正常… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |