首页 > 解决方案 > Selenium .click() 用于 trulia.com 搜索按钮未单击

问题描述

我正在使用 selenium 从 trulia.com 上抓取一些数据。到目前为止,我的代码找到了要单击的元素,但从未真正单击它。这是我的代码:

from selenium import webdriver
from selenium.webdriver.remote import webelement
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
import pandas as pd
import time
from bs4 import BeautifulSoup
import os
from datetime import datetime
from selenium.webdriver import ActionChains

def get_trulia_estimate(address):
    driver.get('https://www.trulia.com/')
    print(address)
    element = driver.find_element_by_id('homepageSearchBoxTextInput')
    element.click()
    element.send_keys(address)
    search_button = driver.find_element_by_css_selector("button[data-auto-test-id='searchButton']")
    search_button.click()
    time.sleep(3) 

get_trulia_estimate('693 Bluebird Canyon Drive, CA 92651')


driver.quit()

任何建议将不胜感激。

标签: pythonseleniumselenium-webdriver

解决方案


尝试使用WebdriverWaitelement_to_be_clickable

    def get_trulia_estimate(address):
    driver.get('https://www.trulia.com/')
    print(address)
    element = driver.find_element_by_id('homepageSearchBoxTextInput')
    element.click()
    element.send_keys(address)
    WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"button[data-auto-test-id='searchButton'] i.iconSearch"))).click()


get_trulia_estimate('693 Bluebird Canyon Drive, CA 92651')

推荐阅读