Python中文
首页
教程
问答
标签
搜索
登录
注册
单击下拉框以获取可用的选项列表
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>当我使用手动检查选中一个下拉框时,总是会提供一个值。 当我使用selenium来选择值时,有时会提供一些选项</p> <pre><code>select = Select(self.driver.find_element_by_xpath(xpath)) print(",".join( [o.text for o in select.options]) </code></pre> <p>选项有时是空的</p> <p>就像用户单击下拉框时可以填充选项一样。 我尝试了以下所有方法</p> <pre><code>wait = WebDriverWait (brower, 10) optionValue = xpath + "/option[.='Value']" wait.until(EC.presence_of_element_located((By.XPATH, optionValue))) ... select.select_by_visible_text("Value") ... select.select_by_index(1) </code></pre> <p>select没有打开菜单的click()方法。你知道吗</p> <p>你有什么建议?你知道吗</p> <p><strong>自我回答——深深的歉意</p> <p>实际上,下拉菜单是在一个弹出窗口中,由一个按钮触发。当弹出窗口触发得太早时,它就永远不会被填满。因此,我添加了一个触发弹出窗口的测试,检查下拉列表的内容,如果下拉列表不包含值,我退出,等待一段时间,然后再做一次</p> <pre><code>nbAttemps = 5 waitTime = 2 optionIsFound = False while nbAttemps > 0: nbAttemps = nbAttemps - 1 self.driver.find_element_by_xpath("//button[.='No distribution']").click() selectXpath="//div/div/bla bla bla" select = Select(self.driver.find_element_by_xpath(selectXpath)) options = [o.text for o in select.options] optionIsFound = "Value" in options logger.debug("Options in select are " + ",".join( options)) logger.debug("nbAttemps = %d" % nbAttemps ) logger.debug("optionIsFound= %s, Value not in %s" % (optionIsFound,options)) if not optionIsFound: # close the popup webdriver.ActionChains(self.driver).send_keys(Keys.ESCAPE).perform() time.sleep(waitTime) else: select.select_by_visible_text("Value") nbAttemps = 0 </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您可以首先使用<code>click()</code>方法单击下拉框,然后从下拉框中选择值。你知道吗</p> <p>如果下拉列表显示悬停在下拉列表上的列表,那么可以使用Action类,然后使用<code>moveToElement(element)</code>悬停在下拉列表上,然后使用<code>click()</code>方法单击下拉列表中所需的值。你知道吗</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
9 回答
将Pandas数据帧转换为scipy稀疏矩阵
10 回答
将Pandas数据帧转换为Spark Datafram时出现问题
9 回答
将pandas数据帧转换为spark DataFram时出错
5 回答
将Pandas数据帧转换为spark datafram时收到错误
4 回答
将Pandas数据帧转换为Spark数据帧
2 回答
将Pandas数据帧转换为Tensorflow数据
4 回答
将Pandas数据帧转换为tkinter obj
3 回答
将pandas数据帧转换为XML
9 回答
将Pandas数据帧转换为值sql语句
2 回答
将pandas数据帧转换为元组
7 回答
将pandas数据帧转换为元组列表
9 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
6 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
1 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
8 回答
将pandas数据帧转换为内存中类似文件的对象?
4 回答
将Pandas数据帧转换为内存功能(&F)
4 回答
将pandas数据帧转换为列表列表
7 回答
将pandas数据帧转换为列表列表以输入到RNN
10 回答
将Pandas数据帧转换为单行DataFram
1 回答