How to make Selenium not wait till full page load, which has a slow script?

0
0

Selenium driver.get (url) wait till full page load. But a scraping page try to load some dead JS script. So my Python script wait for it and doesn’t works few minutes. This problem can be on every pages of a site.

from selenium import webdriver
driver
= webdriver.Chrome()
driver
.get('https://www.cortinadecor.com/productos/17/estores-enrollables-screen/estores-screen-corti-3000')
# It try load: https://www.cetelem.es/eCommerceCalculadora/resources/js/eCalculadoraCetelemCombo.js
driver
.find_element_by_name('ANCHO').send_keys("100")

How to limit the time wait, block AJAX load of a file, or is other way?

Also I test my script in webdriver.Chrome(), but will use PhantomJS(), or probably Firefox(). So, if some method uses a change in browser settings, then it must be universal.

  • You must to post comments
0
0

When Selenium loads a page/url by default it follows a default configuration with pageLoadStrategy set to normal. To make Selenium not to wait for full page load we can configure the pageLoadStrategy. pageLoadStrategy supports 3 different values as follows:

  1. normal (full page load)
  2. eager (interactive)
  3. none

Here is the code block to configure the pageLoadStrategy :

  • Firefox :

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    caps
    = DesiredCapabilities().FIREFOX
    caps
    ["pageLoadStrategy"] = "normal" # complete
    #caps["pageLoadStrategy"] = "eager" # interactive
    #caps["pageLoadStrategy"] = "none"
    driver
    = webdriver.Firefox(desired_capabilities=caps, executable_path=r'C:\path\to\geckodriver.exe')
    driver
    .get("http://google.com")
  • Chrome :

    from selenium import webdriver
    from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
    caps
    = DesiredCapabilities().CHROME
    caps
    ["pageLoadStrategy"] = "normal" # complete
    #caps["pageLoadStrategy"] = "eager" # interactive
    #caps["pageLoadStrategy"] = "none"
    driver
    = webdriver.Chrome(desired_capabilities=caps, executable_path=r'C:\path\to\chromedriver.exe')
    driver
    .get("http://google.com")
  • You must to post comments
Showing 1 result
Your Answer
Post as a guest by filling out the fields below or if you already have an account.
Name*
E-mail*
Website