硒:从下拉菜单中选择

时间:2018-08-06 22:05:25

标签: python selenium automation

我正在尝试实现自动化,但是在尝试从下拉菜单中进行选择时遇到了一个问题。我可以启动Chrome会话并登录该页面,但是当我到达该页面时,似乎好像没有正确找到该元素。

下拉菜单:LINKNOLONGERAVAILABLE

下拉菜单的HTML代码:LINKNOLONGERAVAILABLE

我的网络驱动程序代码:

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

s1.select_by_value("X")

不确定是否要选择正确的ID或是否需要实现其他功能(如等待?)。我已经尝试过按名称和ID尝试使用xpath,css选择器,但无济于事。

感谢您的所有帮助!

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

1 个答案:

答案 0 :(得分:1)

如果您想尝试使用waits,可以遵循以下代码:

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是否唯一,因此,我用 ID,名称和类名构造了一个CSS选择器。

您将必须导入以下内容:

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

希望会有所帮助。