Python - Selenium无法在搜索按钮上找到元素-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Python - Selenium无法在搜索按钮上找到元素

kun坤 2019-12-25 22:19:44 367

我试图找到并点击一个按钮“搜索”在内部网站使用python硒。 带有class = "button"的元素:

<a href="javascript:showSearch(true)" title="Search" class="button" id="button_search">
    <img src="images/icon_search.gif" alt="">Search
  </a>

单击时,此按钮将显示一个包含许多搜索过滤器的表,类更改为“button_active”

<a href="javascript:showSearch(true)" title="Search" class="button_active" id="button_search">
    <img src="images/icon_search.gif" alt="">Search
  </a>

和xpath是:

//*[@id="button_search"]

css定位 包:

import selenium
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

我尝试了以下所有代码:

search_button = driver.find_element_by_id('button_search')
or 
search_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="button_search"]')))
or
search_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@title="Search" and @class="button" and @id="button_search"]')))

和许多方式通过ID, LINK_TEXT…但我总是得到同样的错误

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="button_search"]"}
  (Session info: chrome=79.0.3945.79)

你知道为什么它可能找不到这个按钮吗? 谢谢你! 编辑: 我试过switch_to.frame,它工作了! 谢谢大家! 问题来源StackOverflow 地址:/questions/59385461/python-selenium-unable-to-locate-element-on-search-button

前端开发 JavaScript Python
分享到
取消 提交回答
全部回答(1)
  • anikiooo
    2020-03-26 20:53:33

    建议你在点击之前,输出一下当前页面的page_source看看button_search这个按钮是否已经渲染了。 怀疑button_search按钮是动态渲染的。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程