Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Selenium Python打印下拉菜单列表?_Python_Html_Selenium_Selenium Webdriver_Web Crawler - Fatal编程技术网

如何使用Selenium Python打印下拉菜单列表?

如何使用Selenium Python打印下拉菜单列表?,python,html,selenium,selenium-webdriver,web-crawler,Python,Html,Selenium,Selenium Webdriver,Web Crawler,我试图用Selenium Python及其PhantomJS函数打印出该页面第一个下拉菜单中的所有项目。但它仍然不返回属性错误消息 请帮忙 我的代码片段如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- import re from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.common.exc

我试图用Selenium Python及其PhantomJS函数打印出该页面第一个下拉菜单中的所有项目。但它仍然不返回属性错误消息

请帮忙

我的代码片段如下所示:

#!/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)
下一个元素包含一个元素列表,因为您使用了find\u elements\u by\u tag\u name方法-注意没有.text属性的s

您可以通过使用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)

谢谢,阿莱克斯。这正是我的意思。我非常感谢你的帮助。谢谢。