使用Selenium时无法找到谷歌搜索输入框的正确ID选择器或Xpath
谷歌搜索框Selenium定位方案
可用选择器
- ID选择器:
q(谷歌搜索输入框的固定ID值,是稳定性最高的定位方案) - 可选XPath选择器:
- 基于ID定位:
//input[@id="q"] - 基于name属性定位:
//input[@name="q"] - 基于搜索框提示文字定位:
//input[@title="搜索"]
- 基于ID定位:
修正后的测试代码
Selenium 3 版本(兼容现有写法)
from selenium import webdriver from time import sleep from bs4 import BeautifulSoup driver = webdriver.Chrome('C:/chromedriver/chromedriver.exe') driver.get("https://www.google.com") # 仅修改ID值为q即可 search_bar = driver.find_element_by_id('q') search_bar.send_keys("I want to be a Genius") search_bar.submit() # sleep(5) driver.close()
Selenium 4 规范写法(官方已弃用find_element_by_*直接调用的写法)
from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep from bs4 import BeautifulSoup driver = webdriver.Chrome('C:/chromedriver/chromedriver.exe') driver.get("https://www.google.com") # ID选择器写法 search_bar = driver.find_element(By.ID, 'q') # 也可替换为XPath写法:search_bar = driver.find_element(By.XPATH, '//input[@name="q"]') search_bar.send_keys("I want to be a Genius") search_bar.submit() # sleep(5) driver.close()
对应源码参考截图

内容的提问来源于stack exchange,提问作者AamenIs
相关产品推荐
相关产品推荐

