我正在尝试更改表单中的元素,后面的输入选项取决于前面的输入选项。我可以使用这个方法为前面的选择器选择选项,但对于这个特定的选择器,它会单击对象(我可以看到文本更改),然后返回。
正因为如此,我非常确定我的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中,我似乎也不能向选择器发送内容。
希望能帮助探索为什么会发生这样的事情!谢谢。
编辑:问题不是没有找到选项。我找到了选项,并且能够选择该选项。当查看网络报头中的表单数据时,我可以看到我正在尝试输入与手动输入相同的信息。
然而,在我选择该选项后不到一秒,选择器就返回到其原始状态。
发布于 2020-09-27 04:37:55
要与html-select标记交互,您需要为element_to_be_clickable()引入WebDriverWait,您可以使用以下任一Locator Strategies
选择(WebDriverWait(driver,20).until(EC.element_to_be_clickable)((By.ID,Select
选择(WebDriverWait(driver,20).until(EC.element_to_be_clickable)((By.ID,Select
选择(WebDriverWait(driver,20).until(EC.element_to_be_clickable)((By.ID,Select
注意::您必须添加以下导入:
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 EChttps://stackoverflow.com/questions/64082204
复制相似问题