相关疑难解决方法(0)

类型错误:“FirefoxWebElement”对象不可迭代

我想通过 Python、selenium、firefox 获取 Airbnb 列表页面的 URL,但是,我的程序运行不佳。

我的错误代码如下;

Original exception was:
Traceback (most recent call last):
  File "pages.py", line 19, in <module>
    for links in driver.find_element_by_xpath('//div[contains(@id, "listing-")]//a[contains(@href, "rooms")]'):
TypeError: 'FirefoxWebElement' object is not iterable
Run Code Online (Sandbox Code Playgroud)

这是我的代码!

from selenium import webdriver
from selenium.webdriver import FirefoxOptions
from selenium.webdriver.common.by import By 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.common.exceptions import TimeoutException

test_url = 'https://www.airbnb.jp/s/%E6%97%A5%E6%9C%AC%E6%B2%96%E7%B8%84%E7%9C%8C/homes?refinement_paths%5B%5D=%2Fhomes&query=%E6%97%A5%E6%9C%AC%E6%B2%96%E7%B8%84%E7%9C%8C&price_min=15000&allow_override%5B%5D=&checkin=2018-07-07&checkout=2018-07-08&place_id=ChIJ51ur7mJw9TQR79H9hnJhuzU&s_tag=z4scstF7'

opts = FirefoxOptions()
opts.add_argument("--headless")
driver = webdriver.Firefox(firefox_options=opts)
driver.get(test_url)
driver.implicitly_wait(30)

for links in driver.find_element_by_xpath('//div[contains(@id, "listing-")]//a[contains(@href, "rooms")]'):
    listing_url = …
Run Code Online (Sandbox Code Playgroud)

python selenium xpath web-scraping python-3.x

1
推荐指数
1
解决办法
8530
查看次数

标签 统计

python ×1

python-3.x ×1

selenium ×1

web-scraping ×1

xpath ×1