近期在用Python写自动化程序
下面来说一说Selenium相关的知识点

用的Chrome来举例
准备工作:

下载Webdriver文件

Chrome

Chrome浏览器中输入chrome://version/来查看版本
实测的话 不同的webdriver对应不同的chrome版本 问题不大可以正常使用版本跨度不大应该没问题

官方的镜像(国内好像无法访问)
https://sites.google.com/a/chromium.org/chromedriver/home
http://chromedriver.storage.googleapis.com/index.html
阿里巴巴镜像【推荐】
http://npm.taobao.org/mirrors/chromedriver/

Firefox

Github中的下载地址
https://github.com/mozilla/geckodriver/releases/
阿里巴巴镜像【推荐】
https://npm.taobao.org/mirrors/geckodriver/

调用Chrome设置

#导入Selenium 中的 Webdriver模块
from selenium import webdriver
driver = webdriver.Chrome()

自定义UA

options = webdriver.ChromeOptions()
options.add_argument("user-agent=Mozilla/5.0 xxxxxxxxxxxxxxxxx")#自行设置
driver = webdriver.Chrome(options=options)

浏览器全屏显示

driver.maximize_window()

浏览器导入cookie

search_url = 'http://www.baidu.com'
cookie = 'xxxxxxxxxxxx'
driver.get(search_url)
driver.add_cookie({'domain': 'www.baidu.com', 'name': 'BDUSS', 'value': f'{cookie}'})
driver.get(search_url)
#这个设置Cookie有点坑必须先访问后才能设置 再次访问才生效,cookie设置的话要一个参数一参数的设置要注意格式
#上面的我配置的百度的只需要BDUSS就可以了,上面是chrome浏览器的设置方法Firefox的这样设置貌似会报错
#Firefox的只能设置当前站的cookie

打开指定网址

search_url = 'http://www.baidu.com'
driver.get(search_url)

选择指定框/按钮/等

driver.find_element_by_id()                #选择指定 ID 的
driver.find_element_by_name()              #选择指定 name 的元素(没用过)
driver.find_element_by_xpath()             #选择指定 Xpath语法选择 的元素【推荐】
driver.find_element_by_class_name()        #选择指定 class_name 的元素【常用】
driver.find_element_by_css_selector()      #选择指定 CSS 的元素(没用过)
driver.find_element_by_link_text()         #选择指定 超文本 的元素(没用过)

#本人踩过的坑 find_element  如果是循环匹配的话要写成 find_elements

#选择后后面一般的写法为
driver.find_element_by_xpath().click()     #点击这个元素(如果有超链接那么就进入超链接页面)
driver.find_element_by_xpath().clear()     #应该是清除所选框框内的内容例如输入框内的内容

#输入自定文字keywords自行替换 在这当中也可输入键盘上内容例如:CTRL+V等等不过要导入模块
from selenium.webdriver.common.keys import Keys
driver.find_element_by_xpath().send_keys('keywords')   

driver.find_element_by_xpath().send_keys(Keys.CONTROL, 'v')

暂时就讲这么多

最后修改:2020 年 05 月 04 日 12 : 20 AM
如果觉得我的文章对你有用,请随意赞赏