我正在尝试使用Selenium Python及其PhantomJS函数打印此页面中的第一个下拉菜单中的所有项目(http://www.bobaedream.co.kr/cyber/CyberCar.php?gubun=I)。但它仍然返回No Attribute错误消息。
请帮忙。
我的代码段如下:
#!/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)
答案 0 :(得分:1)
next_elem
包含元素列表(因为您使用了find_elements_by_tag_name()
方法 - 请注意“s”)没有.text
属性。
您可以使用find_element_by_tag_name()
来匹配单个元素来快速修复它:
next_elem = driver.find_element_by_tag_name('li')
但是,我认为,你可能想要获得可以通过以下方式访问的制造商列表:
makers = driver.find_elements_by_css_selector("#layer_maker ul.list li a")
for maker in makers:
print(maker.text)