Mor*_*ork 4 selenium xpath twitter-bootstrap
我想知道是否有其他人遇到过这个问题.我有一个使用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();
Run Code Online (Sandbox Code Playgroud)
它的最后一行什么都不做......任何建议都将非常感谢!
另外值得指出我正在使用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>
Run Code Online (Sandbox Code Playgroud)
如果我将它记录在firefox的seleneium addin中,则输出:
driver.findElement(By.xpath("(//a[contains(text(),'Create')])[2]")).click();
Run Code Online (Sandbox Code Playgroud)
我设法找到了解决方案,但仅仅是纯粹的运气.基本上在我点击取消或创建链接之前,我正在与一些tagit输入进行交互,并且必须做一些小工具才能让它们工作.
这些标签位于html/body/div[3]/div[2]模态中的一个div()中,链接位于另一个(html/body/div[3]/div[3])中,这种摆弄似乎已经阻止Selenium以某种方式看到另一个div,尽管我不确定如何.
为了解决这个问题,我只需点击顶层的模态添加(html/body/div[3])然后就会发现下层链接很好!如何修复它我不知道,但至少我的脚本现在再次工作正常...
| 归档时间: |
|
| 查看次数: |
2169 次 |
| 最近记录: |