Python自动化——浏览器

记:从工作开始即对Python充满兴趣,但是由于平时一直在赶项目,没有充分时间来写一些Demo学习,恰逢这次出差,在隔离期间于是就想到了写一些Python相关的Demo,学习笔记都记录在有道云,CSDN主要还是记录一些开发过程中遇到的问题,有机会再同步。

1. 安装环境

  • 安装Anaconda

  • 安装Python和PyCharm

  • 安装Selenium

Selenium

2. 示例代码

先写个简单版,打开网页,后续再补充。

from selenium import webdriver
from time import sleep
from selenium.webdriver.firefox.options import Options

if __name__ == "__main__":
    # 0.安装在自定义路径下时
    options = Options()
    options.binary_location = r'F:\Bsoftwares\Firefox\firefox.exe'
    # 1.创建Chrome浏览器对象,这会在电脑上在打开一个浏览器窗口
    browser = webdriver.Firefox(executable_path=r'F:\GeckoDriver\geckodriver.exe', firefox_options=options)
    # 2.通过浏览器向服务器发送URL请求
    browser.get("https://www.baidu.com/")
    print(browser.title)
    sleep(3)
    # 3.刷新浏览器
    browser.refresh()
    # 4.设置浏览器的大小
    browser.set_window_size(1400, 800)
    # 5.设置链接内容
    element = browser.find_element_by_link_text("新闻")
    element.click()
    element = browser.find_element_by_link_text("“下团组”时间")
    element.click()

3.问题集锦

  1. Error_01

selenium.common.exceptions.SessionNotCreatedException: Message: Expected browser binary location, but unable to find binary in default location, no ‘moz:firefoxOptions.binary’ capability provided, and no binary flag set on the command line

原因: 未找到浏览器的位置
解决措施:
网上方法:
方法①:安装最新版本的Firefox 之后再打开就可以了。(没实测,可能有效,但感觉有点鸡肋,所以就没尝试。)
方法②:最开始处改为

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/firefox.exe')
browser = webdriver.Firefox(firefox_binary=binary)

结果又报错:binary is not a Firefox executable	#实测无效,可能由于我FireFox没有安装在默认路径

实测方法:
方法③:可能系统中,FireFox安装在自定义位置,在这些情况下,需要通过功能传递FireFox二进制文件的绝对路径

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.binary_location = r'F:\Bsoftwares\Firefox\firefox.exe'
browser = webdriver.Firefox(executable_path=r'F:\GeckoDriver\geckodriver.exe', firefox_options=options)
browser.get("https://www.baidu.com/")

#实测有效

凛冬将至,大家注意保暖!
2022-11-14
Alxa China ZLG

你可能感兴趣的:(#,Python自动化,python)