Selenium webdriver如何使用充满javascript的http响应定位元素

Selenium webdriver如何使用充满javascript的http响应定位元素,selenium,testing,automation,webdriver,qa,Selenium,Testing,Automation,Webdriver,Qa,我使用SeleniumWebDriver来加快测试速度。在我的工作,我们的网站将重定向到贝宝用户完成付款。但是,我无法让SeleniumWebDriver在paypal上找到电子邮件和密码输入字段 贝宝URL示例: 我的代码演示可能如下所示: WebDriver m_driver = new FirefoxDriver(); String redirected_url = "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_ex

我使用SeleniumWebDriver来加快测试速度。在我的工作,我们的网站将重定向到贝宝用户完成付款。但是,我无法让SeleniumWebDriver在paypal上找到电子邮件和密码输入字段

贝宝URL示例:

我的代码演示可能如下所示:

    WebDriver m_driver = new FirefoxDriver();
    String redirected_url = "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-0AT82163FM860854K#/checkout/login";

    m_driver.get(redirected_url);
    Thread.sleep(15*1000);
    WebElement we = m_driver.findElement(By.xpath(".//*[@id='email']"));
    we.sendKeys("login_email");
    we = m_driver.findElement(By.xpath(".//*[@id='password']"));
    we.sendKeys("login_password");
    we = m_driver.findElement(By.xpath(".//*[@id='btnLogin']"));
    we.click();
我的问题是:

有了这些代码,在paypal网站上,我总是会收到一条错误消息“没有这样的元素”发现异常

我可以在firefox中使用firepath找到元素,但我无法使selenium webdriver正常工作


我知道这个错误可能是由paypal登录页面的整个页面中的javascript引起的。我只是不知道如何处理这种情况。您能帮我回答一下吗?

您找不到这些元素的原因是
iframe
。所以,在开始查找元素之前,请使用switchTo方法和switchTo iframe。 比如:

driver.switchTo().frame("injectedUl");
WebElement we = m_driver.findElement(By.xpath(".//*[@id='email']"));
...

您所说的整个页面中的javascript是什么意思?