当前环境:Win10 + Python3.7 + selenium==3.141.0,urllib3==1.26.2
from selenium import webdriver
import timeif __name__ == '__main__':# Chrome 路径CHROME_PATH = r'C:\Program Files (x86)\65.0.3312.0\chrome-win32\chrome.exe'# ChromeDriver 路径CHROMEDRIVER_PATH = r'C:\Program Files (x86)\65.0.3312.0\chromedriver_win32\chromedriver.exe'options = webdriver.ChromeOptions()# 取消 Chrome 正受到自动测试软件的控制options.add_experimental_option("excludeSwitches", ["enable-automation"])# 取消 请停用以开发者模式运行的扩展程序options.add_experimental_option("useAutomationExtension", False)# 手动指定使用的浏览器位置options.binary_location = CHROME_PATHdriver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)url = 'https://www.baidu.com'driver.get(url)print(driver.title)# 输入框element = driver.find_element_by_id('kw')element.clear()element.send_keys('你好')# 百度一下element = driver.find_element_by_id('su')element.click()time.sleep(3)print(driver.title)# 关闭当前显示的窗口driver.close()# 退出浏览器driver.quit()'''运行结果:百度一下,你就知道你好_百度搜索'''
其他知识:
''' # 检测是否有未结束 chromedriver 进程 将其关闭 import os os.system('chcp 65001') os.system('taskkill /F /IM chromedriver.exe') '''
''' selenium3 定位元素方法 driver.find_element_by_class_name("className") driver.find_element_by_css_selector(".className") driver.find_element_by_id("elementId") driver.find_element_by_link_text("linkText") driver.find_element_by_name("elementName") driver.find_element_by_partial_link_text("partialText") driver.find_element_by_tag_name("elementTagName") driver.find_element_by_xpath("xpath") '''''' selenium3 定位多个元素方法 driver.find_elements_by_class_name("className") driver.find_elements_by_css_selector(".className") driver.find_elements_by_id("elementId") driver.find_elements_by_link_text("linkText") driver.find_elements_by_name("elementName") driver.find_elements_by_partial_link_text("partialText") driver.find_elements_by_tag_name("elementTagName") driver.find_elements_by_xpath("xpath") '''
''' selenium3 executable_path 写法 from selenium import webdriveroptions = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option("useAutomationExtension", False) driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options) '''
''' driver.back(): 返回到跳转前的页面。 driver.close(): 关闭当前显示的窗口。如果打开多个窗口,也只会关闭当前的窗口,其他窗口正常显示。 driver.quit(): 退出浏览器, 不管打开的是几个窗口,全部退出。 '''
参考:
https://www.cnblogs.com/kxtomato/p/16403798.html
driver.back() 、driver.close() 、driver.quit()三者的区别-CSDN博客