我正在尝试选择一个下拉框。页中的代码是:
<span class="sui-dropdown" tabindex="0" style="width: 150px;">
<select class="dropdown-soberanos-plazo" style="display: none;">
<option value="CI">CI</option><option value="24hs">24hs</option>
<option value="48hs">48hs</option>
</select>
<span class="sui-input sui-unselectable" unselectable="on">48hs</span>
<span class="sui-caret-container sui-unselectable" unselectable="on">
<span class="sui-caret sui-unselectable" unselectable="on">
</span></span></span>
我尝试了下一个代码,但我甚至无法选择下拉列表。
from selenium.webdriver.support.select import Select
driver.find_elements(By.XPATH,'//*[@id="soberanos"]/div/div[3]/span')
Out[176]: [<selenium.webdriver.remote.webelement.WebElement (session="f181c2e9094dce7159f3b24212735c16", element="8846fda9-7cbe-4b20-ae8c-6b6071f7a18f")>]
Select(driver.find_elements(By.XPATH,'//*[@id="soberanos"]/div/div[3]'))
Traceback (most recent call last):
File "C:\Users\XXXXXXX\AppData\Local\Temp\ipykernel_22996\2906900798.py", line 1, in <cell line: 1>
Select(driver.find_elements(By.XPATH,'//*[@id="soberanos"]/div/div[3]'))
File "C:\Users\XXXXXX\Desktop\Selenium\lib\site-packages\selenium\webdriver\support\select.py", line 36, in __init__
if webelement.tag_name.lower() != "select":
AttributeError: 'list' object has no attribute 'tag_name'
和
from selenium.webdriver.support.ui import Select
没有成功:(
我尝试使用不同的XPATH,同样的结果。
Select(driver.find_elements(By.XPATH,'//*[@id="soberanos"]/div/div[3]/span/select'))
Traceback (most recent call last):
File "C:\Users\ltaboada\AppData\Local\Temp\ipykernel_22996\1364519513.py", line 1, in <cell line: 1>
Select(driver.find_elements(By.XPATH,'//*[@id="soberanos"]/div/div[3]/span/select'))
File "C:\Users\ltaboada\Desktop\Selenium\lib\site-packages\selenium\webdriver\support\select.py", line 36, in __init__
if webelement.tag_name.lower() != "select":
AttributeError: 'list' object has no attribute 'tag_name'
所以..。有什么建议吗?谢谢!下拉图像
发布于 2022-10-21 07:36:34
从您添加的code
和HTML
中,我可以给您一个想法,尝试下面的解决方案。
driver.find_elements
返回WebElements
列表。
应该是driver.find_element
。注意s
中的find_element.
所以,代码行应该是
Select(driver.find_element(By.XPATH,'//*[@id="soberanos"]/div/div[3]'))
如果这对你不起作用,请告诉我们。
发布于 2022-10-26 11:24:57
谢谢!我终于成功了!我使用了不同的XPATH
dropbox_menu_principal=wait.until(EC.element_to_be_clickable((By.XPATH,'//*[@id="topNav"]/div/div[1]/button/i')))
dropbox_menu_principal.click()
对于内部按钮,我使用了Link_Text Opción。
if(type(menues)==str):
menu=wait.until(EC.element_to_be_clickable((By.LINK_TEXT,menues)))
menu.click()
https://stackoverflow.com/questions/74142411
复制相似问题