2017-11-11 99 views
1

我想使用硒登錄到一個網站。如果我輸入錯誤的憑據並提交登錄表單(不含硒),最終站點會提供拒絕訪問的消息。但是當我使用硒做同樣的事情時,訪問被拒絕的消息不會出現。有什麼建議麼?登錄失敗的消息不會在使用硒時出現在網站上

網址:https://oa.lombardfinance.com.au/

ChromeOptions options = new ChromeOptions(); 
    options.addArguments("disable-infobars"); 
    WebDriver driver = new ChromeDriver(options); 
    JavascriptExecutor js = (JavascriptExecutor)driver; 
    driver.get("https://oa.lombardfinance.com.au/"); 
    driver.findElement(By.id("ctl00_ContentPlaceHolder1_txtClientNumber")).sendKeys("Subrat"); 
    driver.findElement(By.id("ctl00_ContentPlaceHolder1_txtPassword")).sendKeys("Subrat"); 
    driver.findElement(By.id("ctl00_ContentPlaceHolder1_txtCaptcha")).sendKeys("Subrat"); 
    //WebElement loginForm = driver.findElement(By.id("aspnetForm")); 
    //js.executeScript("arguments[0].submit();", loginForm); 

    WebElement login = driver.findElement(By.id("ctl00_ContentPlaceHolder1_btnLogin2")); 
    new Actions(driver).moveToElement(login).click().perform(); 
+0

您可以發佈您的硒測試代碼和相應網頁的HTML嗎? –

+0

我附上了代碼和網址。 –

+0

嗯。我明白你的意思,手動點擊時會出現「拒絕訪問」消息,但在Selenium點擊時不會顯示。我是_guessing_這與你點擊一個帶有文件類型的輸入相關,然後執行一些javascript,但是我無法通過在測試中執行該javascript來實現它。即'driver.executeScript('WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(「ctl00 $ ContentPlaceHolder1 $ btnLogin2」,「」,true,「lo」,「」,false,false))');'。對不起,我不能有更多的幫助,希望別人可以介入。 –

回答

0

剛試過你在駕駛引發的微小差異使用相同的代碼:

System.setProperty("webdriver.chrome.driver", "\path\to\chromedriver.exe"); 
WebDriver driver = new ChromeDriver(); 

我排除該行: options.addArguments(」禁用-信息欄「); 和Selenium測試顯示Access也被拒絕。

0

嘗試使用下面的代碼:

System.setProperty("webdriver.chrome.driver", "\\path\\to\\chromedriver.exe"); 
    ChromeOptions options = new ChromeOptions(); 
    options.addArguments("--test-type"); 
    options.addArguments("--disable-extensions"); 
    WebDriver driver = new ChromeDriver(options); 

的解決方案更方便的,因爲有時瀏覽器顯示開發者模式的問題。

相關問題