2017-01-17 11 views
0

このページの最初のドロップダウンメニュー(http://www.bobaedream.co.kr/cyber/CyberCar.php?gubun=I)のすべての項目をSelenium PythonとそのPhantomJS関数で印刷しようとしています。しかし、それはまだNo Attributeエラーメッセージを返します。Selenium Pythonを使用してドロップダウンメニューのリストを印刷するにはどうすればよいですか?

助けてください。

私のコードスニペットは、以下のようなものです: - .text属性を持たない

#!/usr/bin/env python 
#-*- coding: utf-8 -*- 

import re 

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.common.exceptions import StaleElementReferenceException 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import Select 

from bs4 import BeautifulSoup 
from time import sleep 

link = 'http://www.bobaedream.co.kr/cyber/CyberCar.php?gubun=I' 
driver = webdriver.PhantomJS() 
driver.set_window_size(1920, 1080) 
driver.get(link) 
sleep(.75) 

s = BeautifulSoup(driver.page_source, "html.parser", from_encoding='utf-8') 

# open maker layer 
next_elem = driver.find_element_by_xpath('//a[@title="제조사 선택"]') 
next_elem.click() 

# print maker 
next_elem = driver.find_elements_by_tag_name('li') 
print ("clicked maker", next_elem.text) 
sleep(.75) 

答えて

1

next_elemは(「s」を注意して、あなたがfind_elements_by_tag_name()メソッドを使用しましたので)要素のリストが含まれています。

makers = driver.find_elements_by_css_selector("#layer_maker ul.list li a") 
for maker in makers: 
    print(maker.text) 
:私はあなたがおそらくを介してアクセスすることができるメーカーのリストを取得するためのもの、と考え、

next_elem = driver.find_element_by_tag_name('li') 

しかし:

あなたはすぐに単一の要素に一致するようにfind_element_by_tag_name()を使用して、それを修正することができます

+0

ありがとう、alecxe。それは私が正確に意味していたものです。私はあなたの助けに深く感謝します。どうもありがとう。 –

関連する問題