Selenium:从下拉菜单中选择

2024-10-03 04:28:01 发布

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

我正在尝试自动化,但在尝试从下拉菜单中进行选择时遇到了一些问题。我可以启动一个Chrome会话并登录到页面,但是当我到达那里时,它似乎没有正确地定位元素。你知道吗

下拉菜单:LINKNOLONGERAVAILABLE

下拉菜单的HTML代码:LINKNOLONGERAVAILABLE

我的webdriver代码:

s1 = Select(driver.find_element_by_id("X")) 

s1.select_by_value("X")

不确定我是否选择了正确的ID或者是否需要实现其他东西(比如waits?)。我试过xpath、css选择器、按名称和按id,但都没有用。你知道吗

谢谢你的帮助!你知道吗

编辑:元素被包装在一个iFrame中,我所要做的就是切换框架,它工作了:D


Tags: 代码定位id元素byhtmldriver页面
1条回答
网友
1楼 · 发布于 2024-10-03 04:28:01

如果您想尝试等待,可以遵循以下代码:

wait = WebDriverWait(driver, 10)
drop_down= wait.until(EC.visibility_of((By.CSS_SELECTOR, "select.PSDROPDOWNLIST[name^='TL_RPTD_TIME_PUNCH_TYPE'][id^='TL_RPTD_TIME_PUNCH_TYPE']")))  

select = Select(drop_down)

# select by visible text
select.select_by_visible_text('Transfer')  

我不确定ID是否唯一,所以我构建了一个css选择器,其中包含ID、name和class name。你知道吗

您必须导入以下内容:

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

希望这会有帮助。你知道吗

相关问题 更多 >