【发布时间】:2019-04-05 19:09:51
【问题描述】:
我正在尝试找到一个下拉元素,以便从中选择一个选项,我已经看到 Selenium 有一个用于处理选择下拉列表的内置类,但是我很难真正找到该元素.
谁能告诉我哪里出错了?
我正在寻找的元素
<div>
<label>Department<font color="red"><em>*</em></font></label>
<select name="department">
<option value="XXX">Select</option>
<option value="1">Department 1</option>
<option value="2">Department 2</option>
<option value="3">Department 3</option>
</div>
我的尝试
browser.find_element_by_xpath("//div[@label='Department']")
browser.find_element_by_xpath("//div[@name='Department']")
browser.find_element_by_xpath("//select[@label='Department']")
browser.find_element_by_xpath("//select[@name='Department']")
不高兴 - 有人打电话告诉我哪里出错了吗?
为基本问题道歉 - selenium 新手和初学者程序员。
谢谢。
【问题讨论】:
-
最后一个
xpath"//select[@name='Department']"应该可以工作。当你尝试它时会发生什么?尝试添加一些wait。 -
@Guy 感谢您的快速回复。使用最后一个 xpath 只会给我一个通用的
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: //select[@name='Department']}我现在将尝试显式等待! -
@Guy
element = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, "//select[@name='Department']")))也找不到元素。 -
检查下拉菜单是否在 iframe 内。
-
@Guy 就是这样,非常感谢!
标签: python selenium selenium-webdriver web-scraping webdriver