首页 > 解决方案 > 没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“.contact-button link-phone”} python 中的 selenium

问题描述

我正在尝试从网站获取信息,然后重用它......为此,我将 selenium 与 python 一起使用。

到目前为止我所做的是:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.olx.ro/oferta/vand-apartament-3-camere-2-dormitor-1-living-IDdJOij.html')
time.sleep(10)

inputElement = driver.find_element_by_class_name("spoiler")

time.sleep(12)
inputElement.send_keys(Keys.ENTER)

如果您在此页面上单击“suna vanzatorul”,则会出现卖家的电话号码......我想获取此信息......

应单击的项目具有以下类别:

联系人按钮链接电话 {'path': 'phone', 'id': 'dcuxh', 'id_raw': '195069687'} atClickTracking contact-a

不幸的是,这不是静态的,它是动态的,单击后会出现此错误:

selenium.common.exceptions.NoSuchElementException:消息:没有这样的元素:无法找到元素:{“method”:“css selector”,“selector”:“.contact-button link-phone”}(会话信息:chrome = 83.0 .4103.97)

请问我怎么能从那个网站上提取这些信息......

标签: python-3.xseleniumselenium-webdriverweb-crawler

解决方案


一种方法是xpath

inputElement = driver.find_element_by_xpath("//div[@data-rel='phone']")
inputElement.click()

旁注 - 考虑使用WebDriverWait而不是time.sleep.


推荐阅读