如何使用Selenium定位select,javascript控制了什么?

时间:2016-10-22 08:39:23

标签: java selenium xpath

我有以下选择。 我想用Java Selenium选择指定的元素。我尝试了这些,但没有一个工作,我总是得到 在正常使用中如果我点击元素

  

没有这样的元素:无法找到元素:...

继承我的代码:

driver.findElement(By.xpath("//option[@value=\"2498847\"]")).click();
        driver.findElement(By.xpath("/html/body/form/div/center/table/tbody/tr[2]/td[1]/font/select/option[2]")).click();
        driver.findElement(By.xpath("//html/body/form/div/center/table/tbody/tr[2]/td[1]/font/select/option[2]")).click();

厌倦了选择课程:

Select selector = new Select(this.driver.findElement(By.xpath("//select")));
selector.selectByVisibleText("Harris_SF_1");

我做错了什么? 或者是否可以模拟javascript点击并使用Selenium调用此脚本?

HTML:

<select size="10" name="DropDown" onchange="fSaveSearch(document.Form1.DropDown);">
    <option value="1715424">1960 cypress creek N</option><!---this shows the saved searches list--->
    <option value="2164877">Broker Closing Search</option>
    <option value="2498847">Harris_SF_1</option>
    <option value="1715426">Spring East</option>
    <option value="1715428">Spring Klein</option>
    <option value="1715429">Spring Klein Tomball</option>
    <option value="1715427">Spring NE</option>
    <option value="1715432">The Woodlands</option>
</select>

最终目标,模拟具有特定可见文本或值的选项的点击。

编辑:网站默认的iFrame不是这些元素/ js写入的地方。如果我在Chrome控制台上更改iframe,它可以正常工作,但

driver.switchTo().frame("SearchFrame");

Doenst工作我改错了吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

感谢Madhan您的评论解决了我的问题。 但它只有在我切换到Defaultcontent之后才能工作,然后我切换到我需要的帧!

driver.switchTo().defaultContent();

然后切换到我需要的框架:

driver.switchTo.frame("Frame_ID");