使用 python 和 selenium 从网站检索课程表更改 No Such Element 错误、ID、XPATH 等

问题描述 投票:0回答:1

我的学校有一个系统,可以告诉我们日程安排是否有任何变化。

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


url ="[redacted for privacy]"
driver = webdriver.Chrome()
driver.get(url)
driver.implicitly_wait(5.0)

examButton = driver.find_element(By.ID, 'TimeTableView1_btnChanges')

我试图找到一个元素,然后使用 selenium 单击它。每次我尝试查找任何内容时,它都会返回“无此类元素”错误。我尝试了 ID、班级名称、名称等等。

我正在尝试单击名为“changes/שנוййם”的选项卡之一

我的最终目标是单击侧面的下拉菜单,选择一个类,单击“更改”选项卡,然后获取其中的所有数据,然后可能对其进行格式化。

python selenium selenium-webdriver web-scraping
1个回答
0
投票

您无法查找该元素,因为它位于 iframe 内。所以,你必须:

  1. 找到iframe
  2. 切换到它
  3. 找到你的元素
  4. 点击它
frame = driver.find_element(By.XPATH, value="//iframe[@title='Embedded Content']")
driver.switch_to.frame(frame)
elem = driver.find_element(By.XPATH, value="//a[contains(@id,'TimeTableView1_btnChanges')]")
elem.click()

查看文档...

© www.soinside.com 2019 - 2024. All rights reserved.