Python Selenium:从下拉菜单中选择
我正在尝试自动化,但在尝试从下拉菜单中进行选择时遇到了一些问题。我可以启动Chrome会话并登录到该页面,但当我到达该页面时,它似乎没有正确定位元素 下拉菜单:LINKNOLONGERAVAILABLE 下拉菜单的HTML代码:LINKNOLONGERAVAILABLE 我的webdriver代码:Python Selenium:从下拉菜单中选择,python,selenium,automation,Python,Selenium,Automation,我正在尝试自动化,但在尝试从下拉菜单中进行选择时遇到了一些问题。我可以启动Chrome会话并登录到该页面,但当我到达该页面时,它似乎没有正确定位元素 下拉菜单:LINKNOLONGERAVAILABLE 下拉菜单的HTML代码:LINKNOLONGERAVAILABLE 我的webdriver代码: s1 = Select(driver.find_element_by_id("X")) s1.select_by_value("X") 不确定我是否选择了正确的ID,或者是否需要实现其他功能(
s1 = Select(driver.find_element_by_id("X"))
s1.select_by_value("X")
不确定我是否选择了正确的ID,或者是否需要实现其他功能(如等待?)。我试过xpath、css选择器、按名称和按id,但都没有用
谢谢你的帮助
编辑:元素被包装在一个iFrame中,我所要做的就是切换框架,它工作了:D如果您想尝试等待,您可以遵循以下代码:
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
希望这会有所帮助。它会引发什么异常?嘿,伙计,谢谢你的回复。我实现了所有功能,它向我发送了这个错误。在上下文中,我为您包括了所有内容:以下是我的代码:错误:您共享的URL()表示无法访问该站点。你能分享一下这个域名吗对不起,我们联系不到它,因为它在我工作的地方的内联网上。有什么想法吗?你可以打印:
elements=driver.find\u elements\u by_css\u selector(“select.PSDROPDOWNLIST[name^='TL\u RPTD\u TIME\u PUNCH\u TYPE'][id^='TL\u RPTD\u TIME\u PUNCH\u TYPE'])
然后打印(len elements)
你在代码中的任何地方都显示了吗?因为这是个例外。