2017-04-16 21 views
0

JavaScriptを使用して生成されたフットボールゲームのリストを含むWebサイトを削っています。私はその後、Selenium Webdriverを使用して要素内の要素を検索する

for game in list: 
    print game.text 

を記述する場合には、(ゲームのそれぞれに含まれるすべてのテキストフィールドを印刷し

list = browser.find_elements_by_xpath('//*[@data-sportid="1"]') 

:私は、ページ上のすべてのゲーム要素のリストを作成し、次の行を書かれていますホームチーム名、アウェイチーム名など)しかし

、ループ

for game in list: 
    print game.find_element_by_xpath('//*[@class="home-team"]').text 

PRループの各反復ごとにページ内の最初のホームチームの名前をints。

は、このgame要素だけでなくページ全体を検索しているように見えるため、ページの最初のホームチーム名が返され続けます。

リストの各項目内で子要素を検索するにはどうすればよいですか?

EDIT

Here is the exact page I am working on

+0

uが私たちのサイトを与えることができますか?\ – nooby

+0

@noobyは質問にこれを追加しました – KOB

答えて

1
driver = webdriver.Chrome() 
driver.get("https://www.betfair.com/exchange/football/coupon?id=2") 
list = driver.find_elements_by_xpath('//*[@data-sportid="1"]') 
for game in list: 
    print(game.find_element_by_css_selector('span.home-team').text) 

または

driver = webdriver.Chrome() 
driver.get("https://www.betfair.com/exchange/football/coupon?id=2") 
list = driver.find_elements_by_xpath('//*[@data-sportid="1"]') 
for game in list: 
    print(game.find_element_by_xpath('.//span[@class="home-team"]').text) 
関連する問題