2015-06-19 5 views
1
from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.common.exceptions import NoSuchElementException 
from selenium.webdriver.common.keys import Keys 
from bs4 import BeautifulSoup 

driver = webdriver.PhantomJS() 
#driver = webdriver.Firefox() 
driver.get('http://global.ahnlab.com/site/securitycenter/securityinsight/securityInsightList.do') 
driver.execute_script("getView('2218')") 

html_source = driver.page_source 
driver.quit() 

soup = BeautifulSoup(html_source) 

print(soup.h1.string) 

Когда я использую Firefox(), результат [AhnLab Кладет в явке на RSAConference 4-й год подряд], что я хочу. Но когда я использую PhanthomJS(), результатом является [Security Insight], которого я не хочу.execute_script() не работает в Python с селеном phantomjs

Если я использую PhantomJS(), я не могу получить результат, который я хочу? Я хочу получить первый результат с помощью браузера без браузера.

спасибо.

+0

Помог ли мой ответ для вас? –

ответ

3

Драйвер phantomjs не загружает навигацию сразу после вызова javascript. Просто поставьте сон через 5-10 секунд после вызова javascript, и он должен работать для вас.

import time 

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.common.exceptions import NoSuchElementException 
from selenium.webdriver.common.keys import Keys 
from bs4 import BeautifulSoup 

driver = webdriver.PhantomJS() 
#driver = webdriver.Firefox() 
driver.get('http://global.ahnlab.com/site/securitycenter/securityinsight/securityInsightList.do') 
driver.execute_script("getView('2218')") 

# Introduce a sleep of 5 seconds here 
time.sleep(5) 

html_source = driver.page_source 
driver.quit() 

soup = BeautifulSoup(html_source) 

print(soup.h1.string) 
+0

Спасибо, он работает !! – paul

+0

Нет проблем. Я рад, что это помогло. –

Смежные вопросы