72

私はこれについて間違って考えているに違いありません。

Webdriver/Selenium 2 でアクセスしているページの要素 (この場合はフォームフィールド) のコンテンツを取得したい

これが私の壊れたコードです:

 Element=driver.find_element_by_id(ElementID)
 print Element
 print Element.text

結果は次のとおりです。

<selenium.webdriver.remote.webelement.WebElement object at 0x9c2392c>

(空白行に注意してください) .sendkeys を使用して前のコマンドでそれらをそこに詰め込んだので、要素にコンテンツがあることがわかり、スクリプトの実行中に実際の Web ページでそれらを見ることができます。

しかし、内容をデータに戻す必要があります。

これを読むにはどうしたらいいですか?さまざまなタイプの要素からコンテンツを取得できるように、できれば一般的な方法で。

4

5 に答える 5

87

プレストマニフェストは正しい方向に進んでいたと思います。それは、それがどのような要素であるかによって異なります。element.get_attribute('value')入力要素に使用しelement.text、要素のテキスト ノードを返す必要があります。

WebElement オブジェクトをチェックして、element.tag_nameそれがどのような種類の要素であるかを調べ、適切な値を返すことができます。

これは、次のことを理解するのに役立ちます。

driver = webdriver.Firefox()
driver.get('http://www.w3c.org')
element = driver.find_element_by_name('q')
element.send_keys('hi mom')

element_text = element.text
element_attribute_value = element.get_attribute('value')

print element
print 'element.text: {0}'.format(element_text)
print 'element.get_attribute(\'value\'): {0}'.format(element_attribute_value)
driver.quit()
于 2012-04-21T14:12:33.963 に答える
-11

Java では、そのWebelement.getText()。pythonについてはわかりません。

于 2012-04-21T00:31:01.247 に答える