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

硒蟒蛇下降不可控

印晋
2023-03-14

我试图选择和控制www.ziprecruiter.com网站上的下拉菜单使用硒称为半径。因为我是初学者,我似乎不明白为什么我不能控制这个下拉半径菜单。我尝试使用查找ID,名称,Xpath和选择,但似乎没有工作。我想在半径下拉菜单中选择选项“25英里”,有什么想法吗?

<label class="filter_headline" for="search_filters_radius">Distance</label>
<menu id="select-menu-search_filters_radius" class="select-menu-menu" tabindex="-1">
<button class="select-menu-header">Anywhere</button>
<div class="select-menu-submenu-wrapper">
<div class="select-menu-submenu-inner" style="left: 63.0667px; top: 145px;">
<menu class="select-menu-submenu">
<button class="select-menu-item select-menu-selected">Anywhere</button>
<button class="select-menu-item">Within 100 miles</button>
<button class="select-menu-item">Within 50 miles</button>
<button class="select-menu-item">Within 25 miles</button>**
<button class="select-menu-item">Within 10 miles</button>
<button class="select-menu-item">Within 5 miles</button>
</menu>

共有1个答案

东门楚
2023-03-14

有时,下拉列表是使用SELECT标记创建的,但这种情况越来越少,因为网站希望下拉列表的样式与典型的SELECT不同。您在该页面上看到的是一个下拉列表实例,它不是SELECT标记。如果它是一个Select标记,您将能够利用内置的方法,Select\u by_*()

因为这不是一个选择标记,所以您需要做的是单击顶层元素以显示选项,然后单击所需的选项,在您的示例中为“25英里内”

searchText = "Within 25 miles"
// clicks the "Anywhere" dropdown
driver.find_element_by_id("select-menu-search_filters_radius")).click();
// selects the desired option by text
driver.find_element_by_id("//menu[@id='select-menu-search_filters_radius']//button[text()='" + searchText + "']")).click();
 类似资料:
  • 我正在尝试使用本教程从一个使用selenium and beautiful soup的站点提取房地产列表信息:https://medium.com/@ben.sturm/scraping-house-listing-data-using-Selenium-and-Beautiful Soup-1CBB94BA9492 目的是在找到“下一页”按钮之前收集第一页的所有href链接,导航到下一页并收集该

  • 我正在使用sublime来编写python脚本,下面的代码是为python中的硒使用webdriver_manager包自动安装驱动程序 代码运行良好,但我得到了类似的警告 如何修复这样的错误?

  • 我正在尝试点击图中所示的下拉菜单 这就是我尝试过的 但它给了我这个错误 NoSuchElementException: Message:找不到element://div[@ class = ' choosed-container choosed-container-single ']//a[@ class = ' choosed-single choosed-single-with-deselec

  • 我正在运行Ubuntu 18.04。 我使用mysql连接器-python连接Python到MySQL。 我使用的是Python 3.6.7,并且已经安装了mysql连接器-python。 我已经安装了mysql连接器-python-py3_8.0.13-1ubuntu18.10_all.deb. 在运行Python脚本时,mysql。连接器模块似乎加载正确,但脚本在碰到光标时失败。next()具

  • 假设我有一些资源,我想在用python编写的aws lambda中的不同请求之间共享。我应该如何实现这一点? 是否有“启动后”挂钩,或者我应该在第一次调用时惰性地创建资源?“延迟初始化”的缺点是,它意味着一些请求会随机变慢,因为您选择了一个消费者来承担启动成本。 此外…这些资源会在lambda可执行文件被“冻结”后幸存下来吗? 本页https://docs.aws.amazon.com/lambd

  • 问题内容: 请告诉我,我做错了什么?我尝试拖放Selenium,但是每次遇到错误“ AttributeError:move_to需要WebElement”时, 这是我的代码: 我也尝试过,像这样: 总是出现“ AttributeError:move_to需要WebElement” 问题答案: 返回的列表,(和其他方法)接受单个。采用