Selenium IE驱动程序无法找到正确的页面源

时间:2016-10-19 07:30:48

标签: selenium selenium-webdriver

我有一个登录页面,它重定向到我需要使用selenium从元素中提取一些数据的页面。 我正在使用IE驱动程序从本地eclipse运行代码但面临一个问题,因为页面源是初始Web驱动程序页面的一段时间IE浏览器导航到页面有一些延迟,但页面源保持不变,得到一个例外,因为没有找到这样的元素。

尝试添加implicity等待,但没有奏效。 我可以在哪里解决延迟问题?

$result = array(); $text_array = explode(' ', 'andrew garfield invited as andrew@gomail.com'); for($i=0; $i<sizeof($text_array); $i++) { if(strpos($text_array[$i], '@')) { array_push($result, $text_array[$i]); } } echo "<pre>"; print_r($result); echo "</pre>";

1 个答案:

答案 0 :(得分:0)

根据您的评论(对您的问题)&#34;它没有超出具有标题&#39; WebDriver&#39;&#34;的驱动程序的第一页,我认为您无法转到登录页面,输入凭据并单击将重定向到第2页的某个按钮。

在这种情况下,请告诉您使用的是适当版本的Internet Explorer驱动程序。我正在使用64位版本的Internet Explorer驱动程序,因为我在我的PC上使用64位版本的Internet Explorer浏览器和64位操作系统。如果您使用的是32位版本的Internet Explorer浏览器和32位操作系统,则需要使用32位版本的Internet Explorer驱动程序。如何查找我们正在使用的Internet Explorer浏览器的版本:通过检查它的可执行文件的路径,它是否在&#34; Program Files&#34;或者在&#34;程序文件(x86)&#34;夹。如何查看操作系统是32位还是64位:右键单击&#34;计算机&#34;并选择&#34;属性&#34;。

我认为以下代码可行:

@BeforeTest
public void setup() {   
    System.setProperty("webdriver.ie.driver", "C:/Dependancies/IEDriverServer.exe");
    driver = new InternetExplorerDriver();
}

@Test
public void test() throws InterruptedException {
    driver.get("URL_of_login_page"); // Make sure the URL begins with 'http' or 'https'.
    // Enter login credentials, click on 'Submit' button so that it will redirect to 2nd page.
    Thread.sleep(15000); // Assuing 15 seconds is sufficient time for the 2nd page to load.
    System.out.println("The 2nd page is loaded now.");
    System.out.println(driver.getTitle()); // It should print page-title of 2nd page.
    String source;
    source = driver.getPageSource();
    System.out.println(source); 
}