私はWebスクレイピングツールを開発しようとしています。私はPythonスクリプトとJavaScriptコードを持っています.PythonスクリプトはJavaScriptコードを呼び出します。私のjavascriptコードはウェブページから関連するコンテンツを検索します。このコンテンツをPythonスクリプトに返します。 Javascriptコードはブラウザで手動で実行するとうまく動作します。 これは私のjsのコードです:selenium.common.exceptions.WebDriverException:メッセージ:TypeError:p [0]が定義されていません
var doc = ""
var path1 = document.getElementsByClassName("entry-header")[0]
doc = doc + path1.innerText
doc = doc + "\n"
var path2 = document.getElementsByClassName("entry-content")[0]
var cont = path2.getElementsByTagName("p")
for (var i=0; i<cont.length; i++)
{
doc = doc+cont[i].innerText
doc = doc+ "\n"
}
res()
function res()
{
return doc
}
そして、ここでは私のpythonのコードです:
from selenium import webdriver
js = open("generalized.js", "r").read()
driver = webdriver.Firefox()
browser = webdriver.Firefox()
browser.get("http://www.geeksforgeeks.org/branch-and-bound-set-1- introduction-with-01-knapsack/")
result = driver.execute_script(js)
print result
しかし、パイソンを通じて呼び出されたときには、エラー、次の私を与えます。
Traceback (most recent call last):
File "sample.py", line 7, in <module>
result = driver.execute_script(js)
File "/home/sagar/anaconda2/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 543, in execute_script
'args': converted_args})['value']
File "/home/sagar/anaconda2/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
self.error_handler.check_response(response)
File "/home/sagar/anaconda2/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: TypeError: p[0] is undefined
この問題を解決するのを手伝ってください。または、Webスクレイピングのための他の方法はありますか?
、あなたが意図的にナビゲートしている、URLの内側にそのスペースのですか? – alecxe