【Python】-selenium最基础的运行-另外浏览器添加各种设置(欢迎补充)
selenium是一个可以自动打开浏览器,(需要安装浏览器驱动,我这里以Chrome为例。)
并进行各种操作的Python工具,
挺神奇的。
import time
from selenium import webdriver
chrome_opt = webdriver.ChromeOptions() # 引入设置
chrome_opt.add_argument('--start-maximized') # 设置窗口最大化
browser = webdriver.Chrome(options=chrome_opt)# 创建浏览器对象(传入设置参数)
browser.get('https://www.baidu.com/s?wd=时间') # 发起访问网址
time.sleep(5) # 延时5秒
browser.quit() # 退出浏览器,结束进程;browser.close()不结束进程
下面是自己觉得一些有用的浏览器设置:
设置按需求开启,欢迎大家交流一些好玩的操作,或者设置。
# 最大化窗口(无头模式下无效,要window-size设置)
chrome_opt.add_argument('--start-maximized')
# 设置浏览器窗口大小
chrome_opt.add_argument('--window-size=1516,1030')
# 隐身模式(无痕模式)
chrome_opt.add_argument('--incognito')
# 关闭”正受到自动化测试软件的控制。“提示。与user-data-dir冲突
chrome_opt.add_experimental_option("--excludeSwitches", ['enable-automation'])
# 运行时不展示浏览器窗口(无头模式,后台运行)
chrome_opt.add_argument('--headless')
# 禁用GPU加速
chrome_opt.add_argument('--disable-gpu')
# 不加载图片, 提升速度
chrome_opt.add_argument('--blink-settings=imagesEnabled=false')
# 使window.navigator.webdriver=False,以防检测
chrome_opt.add_argument('--disable-blink-features=AutomationControlled')
# 用你常用的Chrome打开,否则是个全新的浏览器,没有任何收藏夹、插件等(前提是不能先打开任何Chrome浏览器(无头模式下好像无效))
chrome_opt.add_argument(r"--user-data-dir=C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data")
# 自动打开开发者模式(F12)
chrome_opt.add_argument("--auto-open-devtools-for-tabs")
# 设置请求头的User-Agent
chrome_opt.add_argument('--user-agent=52pojie') FileNotFoundError Traceback (most recent call last)
File D:\anaconda3\envs\learn-python3\lib\site-packages\selenium\webdriver\common\service.py:72, in Service.start(self)
71 cmd.extend(self.command_line_args())
---> 72 self.process = subprocess.Popen(cmd, env=self.env,
73 close_fds=platform.system() != 'Windows',
74 stdout=self.log_file,
75 stderr=self.log_file,
76 stdin=PIPE)
77 except TypeError:
File D:\anaconda3\envs\learn-python3\lib\subprocess.py:858, in Popen.__init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors, text)
855 self.stderr = io.TextIOWrapper(self.stderr,
856 encoding=encoding, errors=errors)
--> 858 self._execute_child(args, executable, preexec_fn, close_fds,
859 pass_fds, cwd, env,
860 startupinfo, creationflags, shell,
861 p2cread, p2cwrite,
862 c2pread, c2pwrite,
863 errread, errwrite,
864 restore_signals, start_new_session)
865 except:
866 # Cleanup if the child failed starting.
File D:\anaconda3\envs\learn-python3\lib\subprocess.py:1311, in Popen._execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session)
1310 try:
-> 1311 hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
1312 # no special security
1313 None, None,
1314 int(not close_fds),
1315 creationflags,
1316 env,
1317 cwd,
1318 startupinfo)
1319 finally:
1320 # Child is launched. Close the parent's copy of those pipe
1321 # handles that only the child should have open.You need
(...)
1324 # pipe will not close when the child process exits and the
1325 # ReadFile will hang.
FileNotFoundError: 系统找不到指定的文件。
During handling of the above exception, another exception occurred:
WebDriverException Traceback (most recent call last)
Input In , in <cell line: 6>()
4 chrome_opt = webdriver.ChromeOptions() # 引入设置
5 chrome_opt.add_argument('--start-maximized') # 设置窗口最大化
----> 6 browser = webdriver.Chrome(options=chrome_opt)# 创建浏览器对象(传入设置参数)
7 browser.get('https://www.baidu.com/s?wd=时间') # 发起访问网址
8 time.sleep(5) # 延时5秒
File D:\anaconda3\envs\learn-python3\lib\site-packages\selenium\webdriver\chrome\webdriver.py:73, in WebDriver.__init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive)
66 desired_capabilities.update(options.to_capabilities())
68 self.service = Service(
69 executable_path,
70 port=port,
71 service_args=service_args,
72 log_path=service_log_path)
---> 73 self.service.start()
75 try:
76 RemoteWebDriver.__init__(
77 self,
78 command_executor=ChromeRemoteConnection(
79 remote_server_addr=self.service.service_url,
80 keep_alive=keep_alive),
81 desired_capabilities=desired_capabilities)
File D:\anaconda3\envs\learn-python3\lib\site-packages\selenium\webdriver\common\service.py:81, in Service.start(self)
79 except OSError as err:
80 if err.errno == errno.ENOENT:
---> 81 raise WebDriverException(
82 "'%s' executable needs to be in PATH. %s" % (
83 os.path.basename(self.path), self.start_error_message)
84 )
85 elif err.errno == errno.EACCES:
86 raise WebDriverException(
87 "'%s' executable may have wrong permissions. %s" % (
88 os.path.basename(self.path), self.start_error_message)
89 )
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
几行代码都报错,坐等楼主解释 rijindoujin 发表于 2022-3-31 17:22
请教楼主,我是一个想要学习编程的新人。在这里下载的selenium破解版,怎么解压后都读取不了?能不能推荐一 ...
我也学着玩的,很多不懂。
selenium是Python的一个第三方库,免费的,不用破解啊。
cmd命令:pip install selenium可以直接安装的。
装完selenium,再去下载浏览器驱动chromedriver(也是免费的)再放到Python的安装目录即可
chromedriver下载地址(淘宝镜像)
https://registry.npmmirror.com/binary.html?path=chromedriver/ 请教楼主,我是一个想要学习编程的新人。在这里下载的selenium破解版,怎么解压后都读取不了?能不能推荐一个适合32位电脑的selenium破解版。谢谢 浏览器设置代码好评 学习一下 surepj 发表于 2022-3-31 17:35
我也学着玩的,很多不懂。
selenium是Python的一个第三方库,免费的,不用破解啊。
cmd命令:pip insta ...
谢谢坛主的热心回复,可我看不懂。三天了还没有下载运行一个软件,心情爆裂:wwqwq rijindoujin 发表于 2022-4-2 09:54
谢谢坛主的热心回复,可我看不懂。三天了还没有下载运行一个软件,心情爆裂
没事,这个需要先学点Python基础,慢慢来。 jffwoo 发表于 2022-4-4 18:32
FileNotFoundError Traceback (most recent call last)
File D:\anaconda3\envs\ ...
可能是你没有把webdriver放入指定的路径吧 surepj 发表于 2022-4-4 21:25
可能是你没有把webdriver放入指定的路径吧
我是通过anaconda安装的,应该不是这个问题