2016-12-04 1 views
1

Вот процедуру повторить вопрос в браузере: Например, http://www.zulutrade.com/trader/314609?t=30 Если нажать на «Открытые позиции» справа от «Истории торговли», вы получите повторяющийся запрос AJAX.Python селен WebDriver - остановить повторяющийся запрос AJAX

В моем коде, я должен знать, как остановить это, после выполнения:

open_pos_table_sel = "#table-view-open-positions+ label" 


open_positions_el = br.find_element_by_css_selector(open_pos_table_sel) 
br.execute_script("arguments[0].click()", open_positions_el) 

Какой код, который выполняет щелчок через JavaScript.

Видимо, вы можете отключить JQuery с селеном в Java, однако я не могу найти способ сделать это в Python ...

selenium.waitForCondition(
     "selenium.browserbot.getCurrentWindow().jQuery.active == 0", 
     timeout); 

ответ

0

Попробуйте непосредственно удалить JQuery и заменить XHR посыла:

driver.execute_script("window.oldjQuery=window.jQuery;delete window.jQuery;delete window.$;window.oSend=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.send = function(){console.log('stopped ajax request', arguments)};") 

и поставить JQuery и XHR отправить обратно:

driver.execute_script("window.jQuery=window.oldjQuery;window.$=window.jQuery;XMLHttpRequest.prototype.send=window.oSend") 

со ссылкой из: