【问题标题】:Python Selenium encoding issues on get_attribute functionget_attribute 函数上的 Python Selenium 编码问题
【发布时间】:2017-01-17 05:13:22
【问题描述】:

我在Python中使用Selenium来爬取this页面的下拉菜单。我使用find_elements_by_css_selector 函数并从第二个下拉菜单中获取所有数据。

但是当我尝试通过model.get.attribute('href') 打印出组号及其匹配的型号名称时,用韩文写的型号名称如下所示: 5%EC%8B%9C%EB%A6%AC%EC%A6%88(宝马 5 系)。

我知道使用“model.text”会返回唯一的模型名称,但我还需要同时使用每个模型的组名。

这就是我使用model.get.attribute('href') 而不是model.text 的原因。

请帮我解决这个问题。

下面是我的代码。

enter code here#!/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')

makers = ['아우디', 'BMW', '벤츠']

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

    next_elem = driver.find_element_by_link_text(maker)
    print(maker)
    next_elem.click()
    print("clicked maker")
    sleep(.75)

    # open model layer
    next_elem = driver.find_element_by_xpath('//a[@title="모델 선택"]')
    next_elem.click()

    # select model

    models = driver.find_elements_by_css_selector("#layer_group ul.list li a")
    for model in models:
        print (model.get_attribute('href'))

【问题讨论】:

    标签: python html selenium web-crawler


    【解决方案1】:

    上述标题没有href 属性。试试这个列出选项值-(如果有的话)

     elem = driver.find_element_by_xpath("//select[@title='모델 선택']").
     for option in elem.find_elements_by_tag_name('option'):
         print option.text
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-07
      • 2022-11-28
      • 1970-01-01
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      相关资源
      最近更新 更多