2014-11-25 7 views
0

У моей программы возникают проблемы с получением существующего класса с веб-страницы с использованием Selenium. Кажется, что моя функция WebDriver.execute_script не работает.Selenium's WebDriver.execute_script() возвращает 'None'

import urllib 
from selenium import webdriver 

#Path to the chromedriver is definitely working fine. 
path_to_chromedriver = 'C:\Users\Ben\Desktop\Coding\FreeFoodFinder\chromedriver.exe' 
browser = webdriver.Chrome(executable_path = path_to_chromedriver) 
url = 'http://www.maidservicetexas.com/' 
browser.implicitly_wait(30) 
browser.get(url) 
content = browser.execute_script("document.getElementsByClassName('content')"); 
#Just printing the first character of the returned content's toString for now. Don't want the whole thing yet. 
#Only ever prints 'N', the first letter of 'None'...so obviously it isn't finding the jsgenerated content even after waiting. 
print content 

Моя программа возвращает «Нет», которая сообщает мне, что функция javascript не возвращает выполняемое значение /. Инструменты веб-разработчиков Chrome говорят мне, что «контент», безусловно, является допустимым именем класса. Веб-страница не даже динамически (моя конечная цель состоит в том, чтобы очистить динамическое содержимое, поэтому я делаю мой WebDriver подождите 30 секунд перед запуском сценария.)

ответ

2

Верни значения:

content = browser.execute_script("return document.getElementsByClassName('content');"); 
+0

Я знал, что ответ на этот вопрос заставит меня чувствовать себя глупо. Большое вам спасибо! – Ben