记:从工作开始即对Python充满兴趣,但是由于平时一直在赶项目,没有充分时间来写一些Demo学习,恰逢这次出差,在隔离期间于是就想到了写一些Python相关的Demo,学习笔记都记录在有道云,CSDN主要还是记录一些开发过程中遇到的问题,有机会再同步。
…
…
Selenium
先写个简单版,打开网页,后续再补充。
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()
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