lengyue869 发表于 2020-11-12 15:04:20

调用selenium库,用IE浏览器选择文件下载路径设置


我有多个文件要下载,根据文件名建文件夹然后将下载的文件保存到对应的文件夹下:
Chrome浏览器可以按用以下代码,IE浏览器该怎么设置呢?

options = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\\'}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.maximize_window()<

suchocolate 发表于 2020-11-12 15:20:36

本帖最后由 suchocolate 于 2020-11-12 15:25 编辑

没用过IE跑selenium,参考官网是以下方法,不过需要IE有selenium驱动,这个需要提前安装。
browser = webdriver.Ie()

lengyue869 发表于 2020-11-12 15:40:34

suchocolate 发表于 2020-11-12 15:20
没用过IE跑selenium,参考官网是以下方法,不过需要IE有selenium驱动,这个需要提前安装。

我已经装了IE的驱动,现在是想知道怎么设置下载文件的路径

suchocolate 发表于 2020-11-12 16:59:37

lengyue869 发表于 2020-11-12 15:40
我已经装了IE的驱动,现在是想知道怎么设置下载文件的路径

>>> help(webdriver.Ie)
Help on class WebDriver in module selenium.webdriver.ie.webdriver:

class WebDriver(selenium.webdriver.remote.webdriver.WebDriver)
|Controls the IEServerDriver and allows you to drive Internet Explorer
|
|Method resolution order:
|      WebDriver
|      selenium.webdriver.remote.webdriver.WebDriver
|      builtins.object
|
|Methods defined here:
|
|__init__(self, executable_path='IEDriverServer.exe', capabilities=None, port=0, timeout=30, host=None, log_level=None, service_log_path=None, options=None, ie_options=None, desired_capabilities=None, log_file=None, keep_alive=False)
|      Creates a new instance of the chrome driver.

lengyue869 发表于 2020-11-12 17:06:20

suchocolate 发表于 2020-11-12 16:59
>>> help(webdriver.Ie)
Help on class WebDriver in module selenium.webdriver.ie.webdriver:



官方文檔吧?我也搜到了,這個應該是設置驅動的路徑,而不是下載文件的路徑

suchocolate 发表于 2020-11-12 17:20:35

本帖最后由 suchocolate 于 2020-11-12 17:21 编辑

lengyue869 发表于 2020-11-12 17:06
官方文檔吧?我也搜到了,這個應該是設置驅動的路徑,而不是下載文件的路徑

不太确定,试试:
from selenium.webdriver.firefox.options import Options
from selenium import webdriver

options = Options()
options.set_preference('profile.default_content_settings.popups', 0)
options.set_preference('download.default_directory', 'd:\\')
browser = webdriver.Ie(options=options)

lengyue869 发表于 2020-11-12 17:41:49

suchocolate 发表于 2020-11-12 17:20
不太确定,试试:

這個是火狐瀏覽器的方法.IE用不了
AttributeError: 'Options' object has no attribute 'set_preference'

suchocolate 发表于 2020-11-12 18:04:51

本帖最后由 suchocolate 于 2020-11-12 18:07 编辑

lengyue869 发表于 2020-11-12 17:41
這個是火狐瀏覽器的方法.IE用不了
AttributeError: 'Options' object has no attribute 'set_preference ...

from selenium.webdriver.ie.options import Options()
from selenium import webdriver



options = Options()
options.add_additional_option('profile.default_content_settings.popups', 0)
options.add_additional_option('download.default_directory', 'd:\\')
browser = webdriver.Ie(options=options)
看ie的码源里就这个方法最像了,不过不知道能不能用,你也可以看看其他方法能不能用:
c:\python3\Lib\site-packages\selenium\webdriver\ie\options.py

lengyue869 发表于 2020-11-12 18:14:50

suchocolate 发表于 2020-11-12 18:04
看ie的码源里就这个方法最像了,不过不知道能不能用,你也可以看看其他方法能不能用:
c:\python3\L ...

嗯,我也在問度娘...
页: [1]
查看完整版本: 调用selenium库,用IE浏览器选择文件下载路径设置