我试图访问的元素是下拉菜单、弹出菜单,对此我不确定。应该发生的是我在输入字段中输入一个 ID,然后需要几秒钟的时间在数据库中加载和搜索它,如果找到它会重新加载,然后我应该在下拉列表中单击它。我能够找到该元素,然后输入所需的 ID,然后重新加载,但一旦加载到下拉菜单/弹出窗口中,我就无法选择它。以下是屏幕截图: ( | )
下面是我使用的代码:
elem = all_rows[1].find_element(By.CSS_SELECTOR, "div.MuiAutocomplete-root.autoSearchAutoRoot")
rt_id_enter = all_rows[1].find_element(By.TAG_NAME, "input")
rt_id_enter.send_keys(str(df['RT ID'][0]))
wait = WebDriverWait(driver, 10)
rt_id_select = all_rows[1].find_element(By.TAG_NAME, "input")
rt_id_select.click()
我尝试访问的元素是下拉菜单、弹出菜单,对此我不确定。应该发生的是我在输入字段中输入一个 ID,然后需要几秒钟的时间在数据库中加载和搜索它,如果找到它会重新加载,然后我应该在下拉列表中单击它。我能够找到该元素,然后输入所需的 ID,然后重新加载,但一旦加载到下拉菜单/弹出窗口中,我就无法选择它。
也许尝试替换这个:
wait = WebDriverWait(driver, 10)
rt_id_select = all_rows[1].find_element(By.TAG_NAME, "input")
rt_id_select.click()
有了这个:
rt_id_select = WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable(all_rows[1].find_element(By.TAG_NAME, "input")))
rt_id_select.click()
您可能需要导入以下内容才能工作
from selenium.webdriver.support import expected_conditions as EC