# seleniumで要素を取得 driver.find_elements_by_class_name('wrap_box')[2].find_elements_by_tag_name('article') # 取得した10個の要素をテキスト化して、結合させたい [<selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="981d9fa1-7aa7-4f03-9191-9d8424ea1f15")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="d8ab2b29-ad93-4a1e-a62c-5678e3bb3baa")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="e4d5558c-c5a6-49eb-aafa-7e1903e5061f")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="3d48e296-23b1-4ae6-9fa6-0d6718618e51")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="ca920fa7-4ee3-4044-910e-7621dbf4eb4a")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="a4d1fb42-9bec-4492-9870-50a942478784")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="b086f1eb-ffac-424e-be45-83c2a13afcba")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="5a9bd3bd-13b2-4728-aeb3-23d327902793")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="4f1abc9d-03cf-461e-84db-24bf89cfe7cd")>, <selenium.webdriver.remote.webelement.WebElement (session="c5478f098015ed3c442d6f9a2a200d5a", element="98ae5249-1dd6-4c20-b136-2fa8f51201df")>] # for文でループさせてテキスト化&加算して結合させることは可能 text = '' for i in driver.find_elements_by_class_name('wrap_box')[2].find_elements_by_tag_name('article'): text += i.text
上記以外での結合方法を検討していますが、見つけられずにおります。
- join()は文字列しか扱えない
- map()で取得要素をstr型に変換してしまうと、テキスト化できなくなってしまう
稚拙な質問かとは存じますが、ご教示いただけましたら幸甚です。
何卒よろしくお願い申し上げます。
前の質問からですが、なぜfor文のループではいけないのかの説明が無いと、他の方も回答しづらいと思いますが。
なにか条件があるのならそれを先に提示するべきです。
回答1件
あなたの回答
tips
プレビュー