これは簡単なはずですが、うまくいきません。Google ホームページをテストとして使用して、小さなデモを実行しています。
これが私のスクリプトです:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
browser = webdriver.Chrome()
browser.get("http://www.google.com") # Load page
time.sleep(0.2)
#top nav elements
elems = browser.find_elements_by_xpath("//span[contains(@class, 'gbts')]")
for e in elems:
print e.get_attribute('text')
browser.close()
戻り値:
None
None
None
None
None
None
None
None
None
None
None
だから私はそれが正しい要素をつかんでいると思いますが、おそらく正しい属性ではありませんか? わからない。私も e.text() を印刷しようとしましたが、吐き出しました:
Traceback (most recent call last):
File "sample.py", line 14, in <module>
print e.text()
TypeError: 'unicode' object is not callable
何かご意見は?
*編集 - 考えられる解決策は? *
e.get_attribute('innerHTML') seems to work.