以下是使用Python和Selenium打开谷歌浏览器访问百度并尝试自动登录百度的代码示例

一、前置条件

1、已安装python环境和PyCharm

2、已安装Selenium库

pip install selenium

3、已安装Chrome与Webdriver

二、实现代码

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
import time
options = webdriver.ChromeOptions()#创建一个ChromeOptions对象。在Selenium中,webdriverChromeOptions()用于设置Chrome浏览器的启动选项。可以通过调用options对象的各种方法(如add_argument、add_experimental_option等)来设置具体的启动参数。
options.add_argument("--auto-open-devtools-for-tabs")#配置WebDriver的选项,以自动为标签打开开发者工具
#options.add_argument('--headless')#以无头模式运行,不会打开浏览器窗口,在后台运行
options.add_argument('--disable‐gpu')#禁用Chrome浏览器中的GPU加速功能
options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone SE'})#启用移动设备模拟功能,并将模拟的设备设置为“iPhone SE”
driver=webdriver.Chrome(options=options)#初始化一个ChromeDriver对象
driver.maximize_window()#将浏览器窗口最大化
action = ActionChains(driver)#用于模拟鼠标和键盘的操作
driver.get('https://www.baidu.com')
time.sleep(1.5)
driver.find_element(By.XPATH,'//*[@id="personal-center"]/div[2]/div[1]/div').click()
driver.find_element(By.XPATH,'//*[@id="personal-center"]/div[2]/div[2]/div/div[1]/div[2]/div/img').click()
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/article[1]/form/section/div/input').send_keys('13100009001')#这里的账号可以替换成自己的百度登录账号
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/div[1]/div/div[1]/button').click()
driver.find_element(By.XPATH,'//*[@id="naPassWrapper"]/section/article[1]/form/button').click()
time.sleep(10)

三、代码解析

1、options=WebDriver.ChromeOptions()

1、options=WebDriver.ChromeOptions()#使用Selenium库配置Chrome浏览器的一种方式

   WebDriver.ChromeOptions()可以设置各种参数来控制浏览器的行为

例如:(1)无头模式:参数--headless.无头模式不会打开浏览器窗口,在后台运行。

      (2)隐身模式:参数--incognito。隐身模式让浏览器以隐身模式启动,不保存任何浏览历史或cookie。

      (3)页面加载策略:设置page_load_strategy='eager'。可以加速页面的加载速度。

      (4)设置用户代理:参数user-agent。可以自定义请求头中的User-Agent,模拟不同的浏览器或设备。

      (5)最大化窗口:参数start-maximized。可以使浏览器启动时最大化。
 
      (6)禁用GPU加速:参数--disable-gpu。禁用GPU加速。

      (7)禁用自动化标识:参数excludeSwitches=['enable-automation']。可以去除浏览器上的自动化标识
      (8)设置下载目录和图片加载:参数prefs。设置浏览器的下载目录和是否加载图片等。




from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--headless')  # 无头模式
options.add_argument('--incognito')  # 隐身模式
options.add_argument('--disable-gpu')  # 禁用GPU加速
options.add_argument('start-maximized')  # 最大化窗口
options.add_argument('window-size=1280x1024')  # 设置窗口大小
options.add_experimental_option('excludeSwitches', ['enable-automation'])  # 去除自动化标识
options.page_load_strategy = 'eager'  # 页面加载策略设置为eager
driver = webdriver.Chrome(options=options)

2、driver=webdriver.Chrome()

2、driver=webdriver.Chrome()#初始化一个ChromeDriver对象,用于控制Chrome浏览器。

创建WebDriver实例后,可以使用它来控制浏览器,例如打开网页、定位元素、执行操作等。

例如:driver.find_element()定位元素。

3、定位元素详细操作步骤

以XPTH为例:

 

Logo

更多推荐