2017-01-03 13 views
1

私は見たことがありますが、私は援助が必要です。私はページ内の要素からテキストを取得しようとしています。そのポップアップはアラートや新しいウィンドウではなく、フレーム内の別のポップアップです。 WebDriverは要素を見つけたようですが、返されたテキストを確認するためにprintステートメントを実行すると、一貫して空白行になります。私はget_attribute、.textの代わりに試してみました...運がいいわけではありません。ここでPython&Selenium Webdriver(値属性なし)を使用してテキストエリアからテキストを取得

は、HTMLです:

<textarea id="textareafield-2320-inputEl" class="x-form-field x-form-text x-form-textarea" name="activityComments" rows="4" cols="20" autocomplete="off" aria-invalid="false" style="width: 100%;"></textarea> 

は、ここに私のコードです:

contents = driver.find_element_by_xpath(".//*[@class='x-form-item-input-row']/td[2]/textarea").get_attribute("value") 
print contents 
+0

おかげで、これは今まで私の最初の質問だった笑 – ajfranklin

+0

あなたは代わりに '' xpath'のfind_element_by_id'を使用することができます。それを試しましたか? – ettanany

+0

IDはランダムに生成されているので、名前と同じように常に変更されます。 – ajfranklin

答えて

1

あなたXPathはかなり広いです。ページ上のいくつかの要素は、XPathと一致する可能性があります。確認するにはprint(len(driver.find_elements_by_xpath(".//*[@class='x-form-item-input-row']/td[2]/textarea")))を試してください。結果が1より大きい場合は、間違った要素を処理しているようです。より明示的なXPathを使用する

試してみてください。更新の

//textarea[starts-with(@id, "textareafield-")][@name="activityComments"] 
+0

welp、私は恥ずかしいです...これは働いた!本当にありがとう、私は自分のロケーターのスキルをはっきりと働かせる必要があります。再度、感謝します。私はupvotedしかし、私はちょうどそれが表示されませんに参加して以来。 – ajfranklin

+0

あなたはチェックマーク – Andersson

+0

で "Accepted"と答えることができますまた、これをチェックする必要がありますhttp://scraping.pro/res/xpath-cheat/xpath_css_dom_recipes.pdf – Andersson

関連する問題