ਪ੍ਰੌਕਸੀ ਪਿੱਛੇ Selenium ਪੇਜ-ਲੋਡ ਟਾਈਮਆਉਟ ਸੈਟ ਕਰੋ
ਬ੍ਰਾਊਜ਼ਰ ਨੈਵੀਗੇਸ਼ਨ ਟਾਈਮਆਉਟ ਸੈਟ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਐਲੀਮੈਂਟ ਉਡੀਕਾਂ, ਸਕ੍ਰਿਪਟ ਟਾਈਮਆਉਟ ਅਤੇ WebDriver ਕੰਟਰੋਲ ਕਨੈਕਸ਼ਨ ਤੋਂ ਵੱਖਰਾ ਪਛਾਣੋ।
from selenium.common.exceptions import TimeoutException
driver.set_page_load_timeout(30)
try:
driver.get('https://example.com/')
except TimeoutException:
print('The navigation did not finish within its page-load timeout.')
ਨੈਵੀਗੇਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਇਸਨੂੰ ਉਸ ਡਰਾਈਵਰ ਉੱਤੇ ਸੈਟ ਕਰੋ ਜੋ ਪਹਿਲਾਂ ਹੀ ਲੋੜੀਂਦੀ ਪ੍ਰੌਕਸੀ ਨਾਲ ਕਨਫਿਗਰ ਹੈ। Python ਦਾ ਢੰਗ ਸਕਿੰਟ ਲੈਂਦਾ ਹੈ।
ਚੁਣੀ ਗਈ ਪੇਜ-ਲੋਡ ਰਣਨੀਤੀ ਪੂਰਨਤਾ ਤੈਅ ਕਰਦੀ ਹੈ: normal ਪੂਰੀ ਦਸਤਾਵੇਜ਼ ਤਿਆਰੀ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ eager ਪਹਿਲਾਂ ਦੀ ਸਥਿਤੀ ਵਰਤਦਾ ਹੈ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਭਵਿੱਖ ਵਿੱਚ ਸਕ੍ਰਿਪਟ ਵੱਲੋਂ ਬਣਾਈ ਹਰ ਬੇਨਤੀ ਦੀ ਉਡੀਕ ਨਹੀਂ ਕਰਦਾ।
| ਸੀਮਾ | ਸੀਮਿਤ ਕੰਮ |
|---|---|
| ਪੇਜ-ਲੋਡ ਟਾਈਮਆਉਟ | ਨੈਵੀਗੇਸ਼ਨ ਦਾ ਆਪਣੀ ਚੁਣੀ ਪੂਰਨਤਾ ਸਥਿਤੀ ਤੱਕ ਪਹੁੰਚਣਾ |
| ਅਪ੍ਰਤੱਖ ਉਡੀਕ | ਐਲੀਮੈਂਟ ਦੀ ਥਾਂ ਲੱਭਣ ਦੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ |
| ਸਕ੍ਰਿਪਟ ਟਾਈਮਆਉਟ | ਲਾਗੂ ਅਸਿੰਕ੍ਰੋਨਸ ਸਕ੍ਰਿਪਟ ਚਲਾਉਣਾ |
| ਰਨਰ ਦਾ WebDriver ਟਰਾਂਸਪੋਰਟ ਟਾਈਮਆਉਟ | ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਤੋਂ ਡਰਾਈਵਰ ਤੱਕ ਵੱਖਰੀ ਕੰਟਰੋਲ ਬੇਨਤੀ |
ਜੇ ਉਹ ਕੰਟਰੋਲ ਕਨੈਕਸ਼ਨ ਅਟਕ ਜਾਵੇ ਜਾਂ ਅਣਉਚਿਤ ਪ੍ਰੌਕਸੀ ਲਵੇ, ਤਾਂ ਬ੍ਰਾਊਜ਼ਰ ਨੈਵੀਗੇਸ਼ਨ ਬਜਟ ਇਸਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰਦਾ। ਬਹੁ-ਕਦਮ ਵਰਕਫ਼ਲੋਜ਼ ਨੂੰ ਵੀ ਸਮੁੱਚਾ ਕੰਮ ਬਜਟ ਚਾਹੀਦਾ ਹੈ; ਨਿਗਰਾਨੀ ਕਰਨ ਵਾਲਾ ਰਨਰ ਇੱਕ ਨੈਵੀਗੇਸ਼ਨ ਤੋਂ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਰੁਕੀ ਪ੍ਰਗਤੀ ਦਾ ਪਤਾ ਲਗਾ ਸਕਦਾ ਹੈ।
ਰਿਪੋਰਟ ਕੀਤਾ ਟਾਈਮਰ ਜਾਂ ਟਰਾਂਸਪੋਰਟ ਅਸਫਲਤਾ ਰਿਕਾਰਡ ਵਿੱਚ ਰੱਖੋ। ਸਿਰਫ਼ ਨੈਵੀਗੇਸ਼ਨ ਟਾਈਮਆਉਟ ਪ੍ਰੌਕਸੀ ਸੈਟਅੱਪ, ਮੰਜ਼ਿਲ ਦੀ ਦੇਰੀ ਅਤੇ ਪੇਜ ਦੇ ਆਪਣੇ ਲੋਡ ਵਿਵਹਾਰ ਵਿੱਚ ਫ਼ਰਕ ਨਹੀਂ ਕਰਦਾ।