【发布时间】:2020-07-10 15:46:10
【问题描述】:
我正在创建某个页面的网页抓取。我遇到的问题是您必须单击具有onclick = "phoneContactFromAdList (353966494, 0);" 的特定元素。沿着这条线,还有一个名为 def-button 的类。
问题在于,由于有多个产品按钮,数字“353966494”一直在变化。我必须有哪些选项才能获得包含这些数字的列表,以便在每次我必须单击按钮时替换它们?它是 Selenium 和 Python。
已编辑 我意识到我遇到的问题是这个。 (它不允许我删除帖子,所以我将在此处添加它。
我的代码是这样的。
import random
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome('./chromedriver.exe')
lenPaginas = driver.find_element_by_class_name("adlist-paginator-summary")
codigo_de_elementos = driver.find_elements_by_class_name = ('X5')
print(codigo_de_elementos)
print("%s max paginas = %s" % (lenPaginas.text, lenPaginas.text.split(" ")[3]))
for i in range(int(lenPaginas.text.split(" ")[3]) + 1): # Voy a darle click en cargar mas 3 veces
#Para conseguir los identificadores de los botones de contacto javascripts
print(i)
for codigosAutos in codigo_de_elementos:
sleep(5)
primeraParteDatos = driver.find_element_by_xpath("//a[@onclick='phoneContactFromAdList(%s, 0);']" % codigosAutos)
sleep(random.uniform(4.0,8.0))
print(primeraParteDatos)
我想要做的是使用 selenium Python 访问页面https://www.milanuncios.com/coches-de-segunda-mano-en-cadiz/ 的元素。但由于某种原因,它不允许我。我的意图是单击“调用”元素,然后,如果页面要求,单击它询问我是否真的想查看数据的位置,并将该数据存储在变量中。这包含页面的所有元素,但由于某种原因它不允许我访问数据。我已经尝试了很多方法。它显示给我的最常见错误是 selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method": "xpath", "selector": "// a [@ onclick = 'phoneContactFromAdList (X, 0);']"} (会话信息:chrome = 83.0.4103.116)。 如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
向我提供有关您的代码的更多上下文,以便任何人都可以轻松地帮助您:)
-
你的 xpath 中有一个分号。这是预期的吗?
标签: html python-3.x selenium selenium-webdriver web-scraping