使用Selenium如何使用WebDriverWait获取值

品牌开发

我有两个下拉框“ A”和“ B”。当我在“ A”框内选择一个选项时,“ B”框内的选项会更改。因此,我必须等待几秒钟以刷新值。

这是“ B” HTML代码:

<select name="ctl00$body$ddpProjeto" onchange="javascript:setTimeout('__doPostBack(\'ctl00$body$ddpProjeto\',\'\')', 0)" id="body_ddpProjeto" class="form-control" required="required">
<option value="Sistema de Bombeamento de Água Gelada  - 2019">Sistema de Bombeamento de Água Gelada  - 2019</option>
<option value="Obras Civis no Nível Térreo do Forno RW25 - 2019">Obras Civis no Nível Térreo do Forno RW25 - 2019</option>
<option value="Fluxogramas de Utilidades RW25 - 2020">Fluxogramas de Utilidades RW25 - 2020</option>
<option value="Quadros Elétricos RW25 - 2020">Quadros Elétricos RW25 - 2020</option>
<option value="EMPLACAMENTO BALIZADAS FORNO RW25 - 2020">EMPLACAMENTO BALIZADAS FORNO RW25 - 2020</option>
<option value="OBRAS CIVIS NÍVEL TÉRREO FORNO RW25 - 2020 - 2020">OBRAS CIVIS NÍVEL TÉRREO FORNO RW25 - 2020 - 2020</option>

我正在尝试使用此代码:

def EDM_CRIA_DOCUMENTO(titulo, areafisica,classe,tipo="Desenhos de detalhamento (Drawing)",projeto="Quadros Elétricos RW25 - 2020"):
global driver

opt_af = Select(driver.find_element_by_name(r"ctl00$body$ddpAreaFisica"))  #Acha a lista Area Fisica
opt_af.select_by_visible_text(areafisica)

wait = WebDriverWait(driver, 10)
wait.until(ec.text_to_be_present_in_element(By., projeto))

opt_proj = Select(driver.find_element_by_id("body_ddpProjeto"))  #Acha a lista projeto
opt_proj.select_by_visible_text(projeto)  # Seleciona na lista "Nome_do_Projeto"

但是我不知道如何在这种情况下设置“ WebDriverWait”。有人可以帮忙吗?

Sameer Arora

如果您选择了“ A”后在框“ B”中显示了一组特定的值,则可以对“ B”的任何元素应用等待,并且只要存在该元素,就可以对“ B”进行操作”。
您可以这样做:

def EDM_CRIA_DOCUMENTO(titulo, areafisica,classe,tipo="Desenhos de detalhamento (Drawing)",projeto="Quadros Elétricos RW25 - 2020"):
global driver

opt_af = Select(driver.find_element_by_name(r"ctl00$body$ddpAreaFisica"))  #Acha a lista Area Fisica
opt_af.select_by_visible_text(areafisica)

# Wait for the first value in "B" to be present 
WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//option[contains(text(),'Sistema de Bombeamento de')]")))

# Now operate on the element
opt_proj = Select(driver.find_element_by_id("body_ddpProjeto"))  #Acha a lista projeto
opt_proj.select_by_visible_text(projeto)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 WebDriverWait 从另一个元素 selenium 获取元素?

来自分类Dev

如何使用foreach获取值

来自分类Dev

如何使用foreach获取值

来自分类Dev

我如何使用python和selenium获取值不是utf-8的占位符的值?

来自分类Dev

如何在python中使用Selenium从类名中获取值?

来自分类Dev

如何从 selenium webdriver c# 使用 angular JS 构建的折线图中获取值?

来自分类Dev

如何使用 Selenium WebDriver、Java 中的类从 <h1> 标签中获取值

来自分类Dev

如何使用重复键从json获取值?

来自分类Dev

如何使用jquery从json对象获取值?

来自分类Dev

如何使用动态SQL获取值

来自分类Dev

如何使用NSJSONSerialization从JSON对象获取值

来自分类Dev

如何使用JQuery从GRID获取值?

来自分类Dev

如何使用POST方法从数组获取值

来自分类Dev

如何使用arraylist JAVA从矩阵获取值

来自分类Dev

如何使用* ngFor从对象角度获取值?

来自分类Dev

如何使用php从mysql获取值?

来自分类Dev

使用AFNetworking时如何从Anyobject获取值

来自分类Dev

如何使用OnClickListener从TextView中获取值?

来自分类Dev

如何使用jq搜索json以获取值?

来自分类Dev

如何使用.js从每个div获取值?

来自分类Dev

如何使用DOM从td获取值?

来自分类Dev

如何使用php从数组中获取值

来自分类Dev

如何使用jquery获取值更改

来自分类Dev

如何使用请求从 json 获取值?

来自分类Dev

如何使用 quasiquotes 获取值的类型?

来自分类Dev

使用Linq获取值

来自分类Dev

使用 forloop 获取值

来自分类Dev

使用JArray从JSON获取值

来自分类Dev

使用矩阵从因子获取值