首页 > 解决方案 > 如何使用 Selenium 和 Python 单击搜索按钮?

问题描述

此网页检查代码的屏幕截图。我只想动态点击“搜索”按钮,但我尝试了很多方法,但总是有问题..网络抓取的新手

我努力了:

from selenium import webdriver

my_url = 'https://sbs.naic.org/solar-external-lookup/lookup?jurisdiction=AL&searchType=Company&companyStatus=AC'

driver = webdriver.Chrome('D:/chromedriver')

driver.get(my_url)
driver.find_element_by_css_selector(".btn.btn-primary").click()
driver.find_element_by_xpath("//div[@class='btn btn-primary' and @id='submitBtn']").click()
driver.find_element_by_css_selector(".btn.btn-primary").click()

我只希望我的页面可以单击“搜索”按钮并转到下一页。

标签: seleniumselenium-webdriverxpathcss-selectorswebdriverwait

解决方案


有时 .click() 不起作用,我不确定为什么。发生这种情况时尝试 .send_keys(Keys.ENTER)

我使用了 Firefox,并在下面的代码中注释掉了我的 geckodriver 可执行路径。我还通过 id 而不是 css 选择器来定位元素。

from selenium import webdriver

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains


my_url = 'https://sbs.naic.org/solar-external-lookup/lookup?jurisdiction=AL&searchType=Company&companyStatus=AC'

driver = webdriver.Chrome('D:/chromedriver')
# driver = webdriver.Firefox(executable_path=r'C:\\Py\\geckodriver.exe');

driver.get(my_url)

click_search = driver.find_element_by_id("submitBtn")
click_search.send_keys(Keys.ENTER)

推荐阅读