我试图在Python中使用Selenium选择一个下拉值,但无法这样做。我从“复制选择器”中得到的代码如下
#mui-12848
完整的HTML是
<input aria-invalid="false" autocomplete="off" type="text" class="MuiInputBase-input MuiOutlinedInput-input MuiAutocomplete-input Reports-autocompleteInput-133 MuiAutocomplete-inputFocused MuiInputBase-inputAdornedEnd MuiOutlinedInput-inputAdornedEnd" aria-autocomplete="list" autocapitalize="none" spellcheck="false" value="Monthly" id="mui-12848" aria-activedescendant="mui-12848-option-1" aria-controls="mui-12848-popup">
我试过了
s1 = Select(browser.find_element_by_id("mui-12848"))
s1.select_by_visible_text('Quarterly')
这会产生以下错误 UnexpectedTagNameException:消息:选择仅适用于元素,不适用于
我也试过了
browser.find_element(By.XPATH("//*[@id='mui-12848'][2]")).click();
这会产生以下错误 TypeError:“str”对象不可调用
感谢您的帮助
语法不正确。 它应该像
driver.find_element(By.XPATH, "//*[@id='mui-12848']").click()
此外,不能将索引包含在定位器中。您需要先使用
find_elements
,然后再使用上面的索引:driver.find_elements(By.XPATH,"//*[@id='mui-12848']")[2].click()
此错误消息
…表示您试图使用
Select()
类,该类仅在<select>
元素上工作,其中所需元素是<input>
元素要单击
<input>
元素,可以使用以下任一Locator Strategies:使用
css_selector
:使用
xpath
:理想情况下,要单击元素,需要为
element_to_be_clickable()
诱导WebDriverWait,并且可以使用以下Locator Strategies之一:使用
CSS_SELECTOR
:使用
XPATH
:注意:您必须添加以下导入:
该HTML元素的
input
类型是text
,它不是Select
或下拉列表。selenium类支持Select
相关问题 更多 >
编程相关推荐