gpt4 book ai didi

python - 无法在 python selenium 中使用 selenium chrome webdriver 定位元素

转载 作者:行者123 更新时间:2023-12-04 08:18:26 25 4
gpt4 key购买 nike

我是 python 的新手,试图做一些网络抓取,但有一些实际问题。也许你能帮我。
HTML:

<input autocomplete="off" type="search" name="search-search-field" placeholder="150k companies worldwide" data-cy-id="search-search-field" class="sc-dnqmqq grpFhe" value="">
我的代码的第一部分如下所示,运行良好,没有任何问题:
driver.get("https:")
login = driver.find_element_by_xpath(email_xpath).send_keys(email)
login = driver.find_element_by_xpath(pwd_xpath).send_keys(pwd)
login = driver.find_element_by_xpath(continue_xpath)
login.click()
time.sleep(10)
email 和 pwd 是变量,包括我的登录详细信息。正如我所说,这部分工作得很好。
我遇到的问题是以下代码行:
search = driver.find_element_by_xpath('/html/body/div[1]/div/div[1]/header/div/nav/div[1]/div/div/fieldset/input')
结果我收到以下错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div/div[1]/header/div/nav/div[1]/div/div/fieldset/input"}

我试了又试,但无法解决问题。如果有人可以帮助我,我将不胜感激。谢谢!

最佳答案

要定位搜索字段,您可以使用以下任一方法 Locator Strategies :

  • 使用 css_selector :
    search = driver.find_element_by_css_selector("input[name='search-search-field'][data-cy-id='search-search-field']")
  • 使用 xpath :
    search = driver.find_element_by_xpath("//input[@name='search-search-field' and @data-cy-id='search-search-field']")

  • 理想情况下,要定位需要诱导的元素 WebDriverWaitelement_to_be_clickable()您可以使用以下任一 Locator Strategies :
  • 使用 CSS_SELECTOR :
    search = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input[name='search-search-field'][data-cy-id='search-search-field']")))
  • 使用 XPATH :
    search = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@name='search-search-field' and @data-cy-id='search-search-field']")))
  • 备注 :您必须添加以下导入:
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC

  • 引用
    您可以在 NoSuchElementException 上找到一些相关讨论。在:
  • selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element while trying to click Next button with selenium
  • selenium in python : NoSuchElementException: Message: no such element: Unable to locate element
  • 关于python - 无法在 python selenium 中使用 selenium chrome webdriver 定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65604057/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com