【问题标题】:How To Scrape Data From Button In Selenium Python如何从 Selenium Python 中的按钮中抓取数据
【发布时间】:2020-03-19 04:13:54
【问题描述】:

我想从这个按钮中抓取数据我如何使用 Selenium Python 来做

这是按钮截图:

这是网站链接:https://www.zameen.com/EstateAgents/Islamabad-3-152.html

这是我的代码:

driver = webdriver.Chrome()
for i  in range(1,154):
    driver.get('https://www.zameen.com/EstateAgents/Islamabad-3-' + str(i) + '.html')
    name = driver.find_elements_by_css_selector('#agent_search_listing_section .title')
    number = driver.find_elements_by_css_selector('.totalofnum:nth-child(3)')
    Total_Number =driver.find_elements_by_css_selector('.titanium-con+ .clearfix')
    button = driver.find_elements_by_css_selector('#agent_phone').click()
    time.sleep(3)
    phone = driver.find_elements_by_css_selector('.phone_click')
    items = len(name)
    with open(csv,'a') as s:
        for item in range(items):
            s.write(name[item].text + ',' + number[item].text + ',' + Total_Number[item].text + ',' + phone[item].text + '\n')

我想从呼叫按钮中抓取数据,但尝试时出现此错误?

错误:

Traceback (most recent call last):
  File "scrap.py", line 16, in <module>
    button = driver.find_elements_by_css_selector('#agent_phone').click()
AttributeError: 'list' object has no attribute 'click'

【问题讨论】:

    标签: python selenium selenium-webdriver web-scraping selenium-chromedriver


    【解决方案1】:

    问题是您使用的是find_elements_by_css_selector,请注意其中的elements,这就是它返回列表并且您的错误显示为'list' object has no attribute 'click' 的原因。所以要么使用

    button = driver.find_element_by_css_selector('#agent_phone').click()
    

    button = driver.find_element_by_id('agent_phone').click()
    

    请注意,我们在这里使用 element 而不是 elements

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-08
      相关资源
      最近更新 更多