python - 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()
任何建议将不胜感激。
解决方案
尝试使用WebdriverWait
和element_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')
推荐阅读
- python - 如何根据我的意见而不是基于 Python 中 Pandas 数据框中的某些键来更改索引的顺序?
- python - Python 请求被网站阻止
- performance - 除了 Sitespeed.io,还有哪些最好的自动化客户端性能测试工具?
- javascript - 如何将项目添加到现有数组而不影响 React 中的当前数组
- javascript - 布局中的 Xaxis 和 yaxis 自定义属性未针对 plotly 3d 网格图显示
- android - Duplicate Classes in AWS API and Appsync Serivces for Android
- c# - Linq 查询未选择字段列表
- ios - 使用外部 IDE 时模拟器上的 iOS pod 相关构建错误
- javascript - 在 JavaScript 中提交时值的长度验证错误
- powershell - PowerShell 作为 EXE 调用 AWS CLI 但不向窗口显示任何内容