python - Selenium - 访问离线网站后如何继续使用 url 列表?
问题描述
我可以就我正在尝试完成的以下任务寻求一些帮助吗?我尝试使用 Selenium 自动检查 url 列表并对它们中的每一个执行一组点击操作,如果网站处于离线状态,我想转到列表中的下一个 url 并执行相同的点击操作。
贝娄是我到目前为止已经实现的代码,但是它不起作用:
from selenium import webdriver ## importing webdriver
import time ## importing waiting time fuctions
from selenium.common.exceptions import TimeoutException ## importing the timeout fuctions
driver = webdriver.Chrome()
## Setting the Timeout timer in seconds
MAX_TIMEOUT_SECONDS = 60
## Getting url from list "url"
urlsList = ['urlone','urltwo', 'urlthree', 'urlfour']
## Getting list of urls
for s in urlsList:
urls = str(s)
## loop with timeout exception
try:
## Activinting the Timeout fuctions
driver.set_page_load_timeout(MAX_TIMEOUT_SECONDS)
driver.get(urls)
## Clicking on tab
systemTab = driver.find_element_by_xpath('/html/body/ul[1]/li[3]/a')
systemTab.click()
## Clicking on Bottom
buttonRaul = driver.find_element_by_xpath('/html/body/ul[2]/li[4]/a')
buttonRaul.click()
## Clicking on confirmation
buttomGoo = driver.find_element_by_xpath('/html/body/div[2]/div[2]/button')
buttomGoo.click()
time.sleep(5) ## Wait 5 seconds
except TimeoutException:
continue
driver.quit()
我尝试使用超时作为表单来确定网站是否在 60 秒后离线/没有响应,但是当我运行代码时,代码在线工作,直到它到达离线网站并停在那里。
解决方案
我试图用java回答这个问题,因为我对Python不太熟悉。当您运行测试离线模式时,我们可以使用 loadingFailed() 从浏览器获取日志,即 – net::ERR_INTERNET_DISCONNECTED,然后您可以继续下一个 URL。
import org.openqa.selenium.devtools*;
driver = new ChromeDriver();
devTools = ((ChromeDriver)driver).getDevTools();
driver.get("https://www.homepage.com");
devTools.createSession();
devTools.addListener(loadingFailed(), loadingFailed ->
{
System.out.println(loadingFailed.getErrorText());
Assert.assertEquals(loadingFailed.getErrorText(), "net::ERR_INTERNET_DISCONNECTED");
});
推荐阅读
- kubernetes - Kubernetes:kube-scheduler 没有为 pod 分配正确评分节点
- reactjs - 即使 console.log 输出显示数据,React Axios get 方法也不显示任何数据
- python - 我可以在 openbox 中使用 _NET_WM_WINDOW_TYPE_DOCK EWHM 扩展吗?
- javascript - 获取 ical url
- ios - Visual Studio Xamarin 自动预配不起作用
- java - 在 REST API 中自定义/修补 400 响应
- python-3.x - 有没有可能使用 tkinter 框架创建一个 hitbox 的方法?
- c# - 数的负指数
- python - 如何获得带孔的二进制掩码的边界坐标?
- repast-simphony - 就餐 Simphony 3D GIS