如何在 Eclipse 中跳过一个不工作的网站

How to skip a not working website in eclipse

我有一个包含摄像头 IP 和密码的 CSV 文件。 我制作了一个脚本来进入网站并配置一些设置。 但问题是其中一些 IP 无法正常工作,因此该页面将 return 404 未找到。

我想检测这些并忽略它们,因为每次我遇到一个损坏的页面时,for循环都会停止。

这是我的代码的一部分:

String PathofPage = "http://"+p1+"/doc/page/config.asp";
            
        driver.get(PathofPage);
        driver.manage().window().maximize();
        if( driver.getTitle()=="HTTP 404 Not Found")
            driver.quit();
            WebElement Username = driver.findElement(By.id("username"));
            Username.click(); 

找到标题时不会退出浏览器。

这是找不到网站的示例

如果标题包含预期的字符串诱导 WebDriverWait for the titleContains() and you can use the following locator strategy:

,您可以优化代码块以调用 driver.quit() 探测
try {
    new WebDriverWait(driver, 20).until(ExpectedConditions.titleContains​("HTTP 404 Not Found"));
    driver.quit();
}
catch(Exception e) {
    WebElement Username = driver.findElement(By.id("username"));
    Username.click(); 
}

我不确定您要查找的页面标题是否确实存在。
我们在那里看到的是 id = http404 的唯一元素,因此您可以查找该元素。如下:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 4)

String PathofPage = "http://"+p1+"/doc/page/config.asp";
            
driver.get(PathofPage);
driver.manage().window().maximize();

#In case the error presented quit
try{
    wait.until(EC.presence_of_element_located((By.ID, "http404")))
    driver.quit();    
}
#otherwise do what you want to do there
catch(Exception e) {
    WebElement Username = driver.findElement(By.id("username"));
    Username.click();
}