2016-02-23 5 views
1

Я пытаюсь очистить информацию с веб-сайта, используя седан python. Однако, когда я отправляю форму, страница результатов продолжает показывать мне «Для вашего веб-браузера требуется JavaScript для доступа к странице». Может ли кто-нибудь дать мне знать, как это решить?Python Selenium Включить Javascript Issue

Пожалуйста, смотрите ниже моего кода:

from selenium import webdriver 

profile = webdriver.FirefoxProfile() 
profile.set_preference("general.useragent.override", "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0") 
profile.set_preference("javascript.enabled", True) 
broswer = webdriver.Firefox(profile) 
broswer.get(http://www.cathaypacific.com/cx/en_CA.html) 

input = broswer.find_element_by_id('depart-label') 
input.clear() 
input.send_keys('Hong') 

WebDriverWait(broswer, 10, poll_frequency=0.1).until(lambda drv: len(drv.find_elements_by_css_selector("ul.ui-autocomplete li")) > 0) 
broswer.find_element_by_css_selector("ul.ui-autocomplete li").click() 

time.sleep(3) 
input = broswer.find_element_by_id('destination-label') 
input.send_keys('van') 
WebDriverWait(broswer, 10, poll_frequency=0.1).until(lambda drv: len(drv.find_elements_by_css_selector("ul.ui-autocomplete li")) > 0) 
broswer.find_element_by_css_selector("#ui-id-2 li").click() 

broswer.find_element_by_class_name("button-submit").click() 
+0

какие версии Selenium и FF? У меня нет проблем с выполнением JS внутри браузера, даже без явного включения. – user3159253

+0

Я использую python2.7; селен 2,52,0; firefox 38.6.0 –

+0

@ user3159253 Я могу выполнить JS внутри браузера и без явного разрешения. Однако по какой-то причине, когда я пытаюсь получить информацию с вышеуказанного веб-сайта, возвращаемый html просит меня включить javascript –

ответ

1

Там нет ничего плохого в самом коде. Это сработало для меня впервые.

Теперь, реальная проблема заключается в том, что этот конкретный веб-сайт использует сторонний анти веб-соскоб служба под названием Distil Networks, который по-видимому, имеет способ обнаружения селеном WebDriver работает браузер, больше информации здесь: