Selenium-下拉菜单显示新字段。如何更新驱动程序,以便可以看到它们?

问题描述 投票:0回答:2

我有此代码:

from selenium import webdriver
from selenium.webdriver.support.ui import Select

myurl = "https://foobar.pl"
driver = webdriver.Chrome()
driver.get(myurl)

select = Select(driver.find_element_by_xpath('/html/body/div/select'))
select.select_by_visible_text('foobar') 

time.sleep(5) 

选择“ foobar”后,将出现一个输入字段。但在我尝试之后:

driver.find_element_by_xpath('/html/body/div/div[2]/input').click()

我知道

ElementNotVisibleException:元素不可见

如何更新驱动程序,使它可以看到输入,而无需刷新页面(我会放弃选择)?

python selenium dropdown
2个回答
0
投票

您可以尝试下面的代码段吗?您可能需要在单击和获取要检索的字段之间等待。

select = Select(driver.find_element_by_xpath('/html/body/div/select'))
select.select_by_visible_text('foobar') 

time.sleep(5)

driver.find_element_by_xpath('/html/body/div/div[2]/input').click()

您首先需要单击该字段,然后等待,然后再次单击。


0
投票

通常,当您在与页面交互后JavaScript修改页面时,会发生这种情况。解决方法是使用WebDriverWait

from selenium.webdriver.support import ExpectedConditions as EC

wait = WebDriverWait(driver, 5)
input = wait.until(EC.element_to_be_clickable(By.xpath('/html/body/div/div[2]/input'))
input.click()
© www.soinside.com 2019 - 2024. All rights reserved.