Selenium NoSuchElementException下拉菜单

时间:2018-10-22 15:12:47

标签: java python selenium web-crawler nosuchelementexception

如何在Python中使用Selenium来解决NoSuchElementException错误消息?我正在尝试从下拉菜单中选择一种报告类型,并在运行此代码后:

 from selenium.webdriver.support.select import Select

 driver = webdriver.Chrome()

 driver.get("https://examplehtml.com/gims/app/reports")

 ##Report type

 driver.find_element_by_xpath('//*[@id="reportType"]').send_keys("Power 
 Report")

这将插入单词“ Power Report”,但它不会选择和向前移动页面,就像如果我手动选择报告类型并且我认为是由于NoSuchElementException错误导致的那样。为什么找不到元素,如何解决该错误。我对Selenium相当陌生,因此任何建议都将对您有所帮助。

谢谢!

2 个答案:

答案 0 :(得分:0)

我想您需要使用导入的Select类。 因此,如果您的HTML看起来像这样:

<select>
  <option value="1">Power Report</option>
  <option value="2">Other Report</option>
</select>

..然后我将尝试以下代码:

e = driver.find_element_by_xpath('//*[@id="reportType"]')
Select(e).select_by_value('1')

..如果dropdown元素是HTML select元素。

答案 1 :(得分:0)

请确保您要查找的元素可见。硒不能作用于不可见元素。 如果所需元素位于下拉菜单中,则首先需要将菜单下拉。然后,尝试再次找到该元素。