如何在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相当陌生,因此任何建议都将对您有所帮助。
谢谢!
答案 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)
请确保您要查找的元素可见。硒不能作用于不可见元素。 如果所需元素位于下拉菜单中,则首先需要将菜单下拉。然后,尝试再次找到该元素。