2017-09-14 254 views
-3

網站我剛剛與硒的幫助下開了Facebook的:無螢火蟲時,打開一個與硒

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
public class class1 { 
    public static void main(String[] args) { 

     System.setProperty("webdriver.gecko.driver","C:\\Users\\Hi\\Desktop\\selenium\\geckodriver.exe"); 

     WebDriver driver = new FirefoxDriver(); 
     driver.get("http://www.facebook.com"); 


    } 

} 

但在該網站上沒有螢火蟲。當我在沒有Selenium的情況下正常打開瀏覽器時,Firebug圖標就在那裏。有人可以幫忙嗎?

編輯:感謝yong的幫助。我還發現了一個很不錯的方法與此代碼的幫助來解決問題,我在這裏找到http://toolsqa.com/selenium-webdriver/custom-firefox-profile/

ProfilesIni profile = new ProfilesIni(); 
     FirefoxProfile myProfile = profile.getProfile("default"); 

     System.setProperty("webdriver.gecko.driver","C:\\Users\\Hi\\Desktop\\selenium\\geckodriver.exe"); 

     WebDriver driver = new FirefoxDriver(myProfile); 
     driver.get("http://www.facebook.com"); 
+0

可能的重複[如何在Selenium WebDriver(Selenium 2)中運行Firebug?](https://stackoverflow.com/questions/3421793/how-do-i-run-firebug-within-selenium-webdriver-selenium -2) – JeffC

回答

1

分析:

硒使用默認的配置文件來打開Firefox,此配置文件不一樣您通過手動打開的那個。一般來說,默認配置文件將不包含您在Firefox上安裝的插件。

解決方案

  1. 手動創建一個Firefox配置文件,缺省情況下,新配置文件將包括
    http://kb.mozillazine.org/Creating_a_new_Firefox_profile_on_Windows

  2. 告訴硒使用創建配置文件時,打開Firefox
    How to use custom Firefox Profile with Selenium? (Java) (And pass HTML Authorization Window)

+0

謝謝yong!我有一個問題:我意識到,可以打開同一頁面的第二個瀏覽器(但不包含Selenium),並使用Firebug獲取元素的id或className並將其添加到代碼中。你會這樣建議還是有問題? – Suppe

+1

沒辦法,硒需要在啓動瀏覽器時纔開始獲取瀏覽器的控制權,您從硒開始的瀏覽器,硒沒有控制它的權力。要了解有關Selenium服務器/ Selenium Client API/Webdriver.exe /真實瀏覽器之間關係的更多信息,請查找腳本如何與瀏覽器通信。它將幫助您很好地理解硒和webdriver的背景以及您在使用硒 – yong

+0

的道路上的更多評論。你的解決方案是好的,但我認爲這個視頻的解決方案更好:https://www.youtube.com/watch?v=I6AaCvEgNmo通過這個解決方案,你可以使用「默認」的Firefox,包括Firebug – Suppe