首页 > 解决方案 > 单击单选按钮 Selenium/Python

问题描述

我正在按最近的顺序创建一个 Linkedin 作业抓取工具,但我发现很难定位“最近”单选按钮,如下所示。

到目前为止,点击了“最相关”菜单,但不会点击“最新”。帮助将不胜感激我似乎无法弄清楚这一点:/

在此处输入图像描述

代码片段

driver.get('https://uk.linkedin.com/jobs/bioinformatics-jobs?position=1&pageNum=0')
driver.implicitly_wait(10)
driver.find_element_by_class_name('collapsible-dropdown').click() # Clicks 'sort-by' menu.
driver.find_element_by_xpath('//*[@id="sortBy-0"]').click() # Error!

HTML

<button aria-expanded="true" aria-label="Sort By filter. Most relevant filter is currently applied. Clicking this button displays all Sort By filter options." class="filter-button filter-button--selected dropdown-to-modal__button collapsible-dropdown__button" data-tracking-control-name="public_jobs_sortBy" type="button">
        
        Most relevant
      <icon class="filter-button__icon"></icon>
</button>
<div class="collapsible-dropdown__list no-focus-ring" tabindex="-1">
<!-- -->
<fieldset class="filter-values-container">
<legend class="filter-values-container__legend sr-only">Sort By filter options</legend>
<div class="filter-values-container__filter-values">
<div class="filter-values-container__filter-value">
<input checked="" form="jserp-filters" id="sortBy-0" name="sortBy" type="radio" value="R"/>
<label for="sortBy-0">
        Most relevant
    </label>
</div>
<div class="filter-values-container__filter-value">
<input form="jserp-filters" id="sortBy-1" name="sortBy" type="radio" value="DD"/>
<label for="sortBy-1">
        Most recent
    </label>
</div>
</div>
</fieldset>
<button aria-label="Apply filters" class="filter__submit-button" data-tracking-control-name="public_jobs_sortBy" form="jserp-filters" type="submit">
    Done
  </button>
</div>

  <div class="filter-values-container__filter-value">
    <input id="sortBy-1" form="jserp-filters" name="sortBy" value="DD" type="radio">
    <label for="sortBy-1">
        Most recent
    </label>
  </div>

      </div>
    </fieldset>
  
  <button class="filter__submit-button" aria-label="Apply filters" form="jserp-filters" data-tracking-control-name="public_jobs_sortBy" type="submit">
    Done
  </button>

</div>

标签: pythonseleniumweb-scraping

解决方案


试试这个 driver.find_element_by_xpath('//*[@id="jserp-filters"]/ul/li[1]/div/div/div/fieldset/div/div[2]').click() 你的xpath不完整


推荐阅读