Selenium selected/clicked selector恢复为un-clicked状态

Selenium selected/clicked selector恢复为un-clicked状态,selenium,select,web-scraping,beautifulsoup,html-select,Selenium,Select,Web Scraping,Beautifulsoup,Html Select,我试图更改表单中的元素,后面的输入选项取决于前面的选项。我可以使用此方法为早期选择器选择选项,但对于此特定选择器,它单击对象(我可以看到文本更改),然后返回 因此,我相当确定我的id是正确的,它确实找到并选择了当前元素,但我需要帮助来弄清楚为什么该选项无法保持 wait = WebDriverWait(driver,20).until(EC.presence_of_element_located( (By.XPATH, 'xpath/option[2]'))) select = Sel

我试图更改表单中的元素,后面的输入选项取决于前面的选项。我可以使用此方法为早期选择器选择选项,但对于此特定选择器,它单击对象(我可以看到文本更改),然后返回

因此,我相当确定我的id是正确的,它确实找到并选择了当前元素,但我需要帮助来弄清楚为什么该选项无法保持

 wait = WebDriverWait(driver,20).until(EC.presence_of_element_located(
    (By.XPATH, 'xpath/option[2]')))
select = Select(driver.find_element_by_xpath('xpath'))
select.select_by_value(code)
我尝试过按索引、可见文本和按id查找并使用click()方法进行选择,但没有一种方法允许保留我的选项选择。当我手动进入表单时,将保留我的选项选择。此外,在BeautifulSoup中,我似乎也不能发布到选择器

我很乐意帮助你探索为什么会发生这样的事情!谢谢

编辑:问题不是找不到选项。我找到了选项,并且能够选择该选项。当查看网络头中的表单数据时,我可以看到我正在尝试输入与手动输入相同的信息

但是,在我选择该选项后不到一秒钟,选择器将返回其原始状态。

要与标签交互,您需要使
元素可点击()
,并且您可以使用以下任一选项:

  • 使用:

  • 使用:

  • 使用:

注意:您必须添加以下导入:

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

你能分享网址吗?谢谢!但问题不是元素不可见;我确实在等。问题在于,单击选择器后,所选选项仅会临时选择,但随后会恢复到其原始状态。我不知道它为什么会恢复。嗨@DebanjanB,很抱歉在这里找到你。如果你有时间,你能在聊天室停下来帮我提个问题吗?然后您可以从那里ping我。@QHarr由于一些不可避免的情况,我与stackoverflow的连接有限。我们能否在中讨论对其他用户有益的问题/问题/建议?
Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "id_name")))).select_by_value("option_value")
Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "id_name")))).select_by_index(index)
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC