【问题标题】:Scraping text from webite using Selenium使用 Selenium 从网站上抓取文本
【发布时间】:2019-10-18 00:07:18
【问题描述】:

我已经到了可以打开这个网站https://vehicleenquiry.service.gov.uk/ConfirmVehicle的阶段

输入车辆登记号,点击继续,点击是,这是正确的车辆,然后再次继续到下一页。

现在正在寻找如何从该网站提取燃料类型数据,即下面列出的汽车(我父母的汽车)将是 PETROL。似乎无法弄清楚 - 做了很多谷歌搜索!

我还要拉缸容量 (CC):入口和制造年份。

def vehicleRegChecker():

    from selenium import webdriver
    import time

    driver = webdriver.Chrome()
    driver.get("https://vehicleenquiry.service.gov.uk/ConfirmVehicle")
    driver.find_element_by_name("Vrm").send_keys("VX02LTE")

    python_button = driver.find_elements_by_xpath("//button[@name='Continue'][@type='submit']")[0]
    python_button.click()

    python_button = driver.find_elements_by_xpath("//input[@data-val='true'][@type='radio']")[0]
    python_button.click()

    python_button = driver.find_elements_by_xpath("//button[@name='Continue'][@type='submit']")[0]
    python_button.click()

vehicleRegChecker()

【问题讨论】:

  • 什么元素包含燃料类型?

标签: python html selenium


【解决方案1】:

我认为您正在寻找以下内容:

elems = driver.find_elements_by_class_name('list-summary-item')

print(elems[2].text)
print(elems[3].text)

并且因为它也有标题,如果你只想要值这样做:

elems = driver.find_elements_by_class_name('list-summary-item')

print(elems[2].text.split('\n')[1])
print(elems[3].text.split('\n')[1])

【讨论】:

    【解决方案2】:

    在你所有的代码运行之后:

    fuel_type = driver.find_element_by_id('FuelTypeShown').text
    years_of_manufacture = driver.find_element_by_xpath('//li[.//*[contains(text(), "Year of manufacture")]]//strong').text
    cc = driver.find_element_by_xpath('//*[@id="CylinderCapacity"]//strong').text
    print(fuel_type)
    print(years_of_manufacture)
    print(cc)
    >>> PETROL
    >>> 2002
    >>> 1390 cc
    

    【讨论】:

      猜你喜欢
      • 2021-09-23
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 2016-04-06
      • 2017-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多