使用Python和Selenium创建iframe

2024-06-10 00:48:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试删除此网站:https://www.mercedes-benz.de/passengercars/mercedes-benz-cars/dealer-locator.html

在地图中引用元素(例如聚合数字或梅赛德斯经销商)的最佳方式是什么,我可以在之后遍历所有元素?因此,将所有对象存储在一个列表中并遍历该列表

梅赛德斯经销商在此存储在一个名为“传单标记图标dl经销商标记传单缩放隐藏传单交互”的类中,而聚合编号存储在“传单标记图标dl标记簇传单缩放隐藏传单交互”的类中。我试着用它来做

driver.find_elements_by_xpath('//div[contains(@class, "dl-marker-cluster")]')

以错误selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable结束

提前谢谢


Tags: https标记元素列表网站wwwdecars
1条回答
网友
1楼 · 发布于 2024-06-10 00:48:53

如果你想得到所有这些元素并循环它们,你可以这样做。您需要处理弹出窗口,然后进入iframe

driver.get("https://www.mercedes-benz.de/passengercars/mercedes-benz-cars/dealer-locator.html")
wait=WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable((By.ID, "uc-btn-accept-banner"))).click()
wait.until(EC.frame_to_be_available_and_switch_to_it((By.ID, 'dlc-cont')))
elems=wait.until(EC.presence_of_all_elements_located((By.XPATH, "//div[contains(@class, 'dl-marker-cluster')]")))
for elem in elems:
    print(elem.text)

进口

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

相关问题 更多 >