当前位置: 首页 > 知识库问答 >
问题:

硒元素找不到下拉菜单python

鲁彬炳
2023-03-14

我正在eBay网站上使用Selenium WebDriver。我正在尝试将下拉菜单从“最佳匹配”更改为“最低价格”

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
sortdown = browser.find_element(By.XPATH, '//*[@id="DashSortByContainer"]/ul[1]/li/div/a')
sortselect = Select(sortdown)
sortselect.select_by_visible_text('Lowest price + P&P')

我使用XPATH以防元素是动态的。Python仍然说找不到元素。有人能帮忙吗?以下是结果右上方下拉菜单的示例链接:https://www.ebay.co.uk/sch/i.html?_from=R40

共有2个答案

夔光霁
2023-03-14

元素/*[@id=“dassortbycontainer”]/ul[1]/li/div/a是链接,而不是选择。这就是为什么不能使用Selectclass
您需要/*[@id=“dassortbycontainer”]/ul[1]/li/div/a上单击,然后在DOM中找到具有值的元素并单击所需的元素

你可以在这里找到类似的问题,答案可以作为参考。

章绪
2023-03-14

它显示的项目不是真正的Select元素。这只是一个<代码>

  1. 选择当前排序链接(

例如。:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(browser, 10)

# click link to display all options
sortdown = browser.find_element_by_link_text('Best Match')
sortdown.click()

# select a new option
lowestprice = wait.until(EC.presence_of_element_located((By.LINK_TEXT, 'Lowest price + P&P')))
lowestprice.click()

 类似资料:
  • 任何提示都会很有帮助!

  • 大家好,我正试图在网站中找到一个元素,但出于某种原因,它不允许我。该网页是Reddit的登录形式,我尝试输入用户名和密码,但当我列出所有输入时,它只出现在顶部搜索栏中。我想这是因为它就像在另一个“标签”一样,它会弹出到前面,但我不知道如何管理它。提前谢谢。

  • 无法定位元素 我正在尝试使用给定的url登录并在这里选择日历:https://classic.crmpro.com/ 在使用隐式等待之后,我使用了以下方法进行定位: 请让我知道我能做什么。

  • 问题内容: 我正在一个涉及使用PHP脚本自动填充选择框的网站上工作。除了问题是我用来填充文本框的标题非常长(它们是期刊文章和演示文稿标题)外,所有其他方法都工作正常。下拉框延伸到最长元素的宽度,该元素延伸超出屏幕边缘,因此使滚动条无法触及。我尝试了多种尝试使用CSS手动将下拉框设置为特定宽度的方法,但到目前为止都无济于事。我所能做到的最好的事情是将“选择”框设置为一定的宽度,但是下拉菜单本身要宽得

  • 我试图运行下面的selenium代码,但我得到了一个异常: 封装演示; Selenium试图在单击登录名webelement之前找到webelement的电子邮件ID。请帮忙。

  • 问题内容: 我是堆栈溢出的新手。我需要创建一个静态下拉列表,然后根据在静态下拉列表中选择的值创建一个动态下拉列表。只是Coldfusion和html。没有其他花哨的东西。因此,从第一个下拉菜单中,用户将选择:颜色,ID,官员,学校,然后点击“继续”按钮 然后在同一页面或不同页面上,如果选择了颜色,它将在数据库中进行查询并给出不同颜色的结果,如果选择了id,则将提供查询中的ID编号列表。如果选择了这