当前位置: 首页 > 知识库问答 >
问题:

捕捉22-无法切换到框架,无法找到框架中的元素,我无法切换到。啊

师谦
2023-03-14

你好,有帮助的硒窗口和框架切换的家伙(或女孩),

    import java.util.Set;
    import java.util.List;
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.firefox.*;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.Select;
    import org.openqa.selenium.support.ui.WebDriverWait;

    public class TestCase1 {

    @SuppressWarnings("rawtypes")
    public static void main(String[] args) throws InterruptedException {

    WebDriver driver = new FirefoxDriver();

    driver.get("http://www.lampsplus.com/products/franklin-iron-works-hickory-point-15-inch-high-outdoor-light__09569.html");

    Set<String> windows = driver.getWindowHandles();
    System.out.println("size:" + windows.size());

    driver.findElement(By.xpath(".//*[@id='pdAddToCart']")).click();


    WebDriverWait wait = new WebDriverWait(driver, 180);
                    wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#aCheckOut1")));


    System.out.println("now size is:" + windows.size());

    driver.findElement(By.xpath(".//*[@id='aCheckOut1']")).click();

    //cc form info - omitted for brevity

    driver.close();
    }


    } 

共有1个答案

慕学海
2023-03-14

这可能对你有用。WebDriverWait现在等待iframe变得可见,切换到iframe,然后单击所需的元素。

WebDriverWait wait = new WebDriverWait(driver, 180);
                wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div#add-to-cart>iframe")));

driver.switchTo().frame(driver.findElement(By.cssSelector("div#add-to-cart>iframe")));
driver.findElement(By.xpath(".//*[@id='aCheckOut1']")).click();

iframe中完成后,请记住重新退出:

driver.switchTo().defaultContent();
 类似资料:
  • ![Frame Details][firebug正确显示了帧,但无法切换到帧]1 我正在尝试切换到id =所有设备的框架,但无法到达那里。我可以切换到任何其他框架,但不能切换到这个框架。以下是我尝试过的选项 browser.driver.switchTo(). frame('所有设备');browser.driver.switchTo(). frame(browser.driver.findEle

  • 本文向大家介绍如何切换到硒框架?,包括了如何切换到硒框架?的使用技巧和注意事项,需要的朋友参考一下 我们可以借助以下方法切换到Selenium中的帧- switchTo()defaultContent() 此方法用于在帧和父帧之间来回切换。焦点转移到主页上。 switchTo()。parentFrame() 此方法用于将控件切换到当前帧的父帧。 示例

  • 切换到正确的框架后,我无法定位框架内的元素。这里是我的代码,错误和HTML索尔斯。如果右键单击框架并选择,那么我就可以在中找到元素,但是我需要在没有的情况下找到它 错误StackTrace: NoSuchElementException Traceback(最近的调用最后)在-->1 browser.find_element_by_css_selector('#_ctl12_btnexportcs

  • 我正在运行以下命令以尝试切换到Java1.6 $export java_home=$(/usr/libexec/java_home-v1.6) 但我得到了错误 -bash:java_home=/library/java/javavirtualmachines/1.6.0.jdk/contents/home:没有这样的文件或目录

  • 本文向大家介绍在Django框架中伪造捕捉到的URLconf值的方法,包括了在Django框架中伪造捕捉到的URLconf值的方法的使用技巧和注意事项,需要的朋友参考一下 比如说你有匹配某个模式的一堆视图,以及一个并不匹配这个模式但视图逻辑是一样的URL。 这种情况下,你可以通过向同一个视图传递额外URLconf参数来伪造URL值的捕捉。 例如,你可能有一个显示某一个特定日子的某些数据的应用,UR

  • 问题内容: 我正在尝试抓取以下网站:https : //www.bancosantander.es/es/particulares/prestamos/prestamo- coche/simulador 我正在尝试做的是: 通过移动滑块来模拟数量和持续时间。我正在尝试使用网络驱动程序找到它们。 但是我不能,事实上我已经开始抓取了。 出现的错误如下: 我的代码: 问题答案: 您可以尝试以下方法输入值