为什么我不能点击某些菜单列表但我可以点击其他菜单列表?

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

页面+HTML:

在左侧的菜单项中,我在列表中有9个菜单项。我能够让 selenium 点击前 4 个,直到 id=item-3。

但是在包含 id=item-4 之后,Selenium 无法点击,并给我一个 No Such Element Exception。

我点击标准:

element = driver.find_element(By.ID, "item-3")
element.click()

为什么我做不到:

element = driver.find_element(By.ID, "item-4")
element.click()

一直到第 8 项?

起初我想我需要向下滚动,因为也许它也需要在屏幕上可见:

但我尝试滚动它仍然没有用。

我错过了一些明显的东西吗?我试过 XPATH,但它也给出了相同的结果。

selenium-webdriver nosuchelementexception findelement
2个回答
0
投票

调试遗漏元素的第一步是 检查 Chrome,看看浏览器看到了什么

F12 > 元素 > Ctrl+F

输入#item-4,看看浏览器是否看到它

这适用于 1920 x 1080

屏幕尺寸变小了吗?


0
投票

尝试使用以下代码点击Buttons

element = driver.find_element(By.XPATH, "//span[text()='Buttons']")
driver.execute_script("arguments[0].click();", element)

完整的工作代码:

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://demoqa.com/elements")
element = driver.find_element(By.XPATH, "//span[text()='Buttons']")
driver.execute_script("arguments[0].click();", element)

结果:

Process finished with exit code 0

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