我有麻烦连接到这个代理与seleniumwire,它会连接,并要求我的用户和密码,如果我删除这一行.是的,我有实际的目录和代理在真实的代码,它是改变这里的隐私原因.
chrome_options.add_argument(f'--profile-directory={profile_directory}')
字符串
我不知道如果也许配置文件目录更改代理或什么,但它只会连接,如果被删除,我如何才能使它连接,仍然使用配置文件目录?
from seleniumwire import webdriver
proxy_address = "your_proxy_address:your_proxy_port"
user_data_dir = "path/to/your/user/data/directory"
profile_directory = "YourProfileDirectory"
chrome_options = webdriver.ChromeOptions()
proxy_options = {
'proxy': {
'http': f'http://{proxy_address}',
'https': f'https://{proxy_address}',
'no_proxy': 'localhost,127.0.0.1'
}
}
chrome_options.add_argument(f'--user-data-dir={user_data_dir}')
chrome_options.add_argument(f'--profile-directory={profile_directory}')
driver = webdriver.Chrome(seleniumwire_options=proxy_options, chrome_options=chrome_options)
driver.get("https://myurl.com/")
型
4条答案
按热度按时间wnavrhmk1#
您的代理100%有效吗?或者网站不允许通过此特定代理进行连接?
刚刚尝试了你的代码与我的代理(通过登录名和密码,
login:password@ip:proxy
认证),它工作得很好。字符串
wkftcu5l2#
第一个月
字符串
ivqmmu1c3#
我已经通过抛出这样的问题,对我来说,这是因为我已经做了一个扩展,改变代理是否如何工作,如果你已经做了这样的事情,那么请禁用此扩展检查,如果您的代理工作,如果没有,检查它的工作,如果你添加:
字符串
如果它的工作与此参数,然后在扩展程序中的问题,它的禁用后仍然使用Chrome代理设置。和简单的解决方案是重命名的Preferences.txt文件在配置文件目录中,例如Preferences_main.txt,然后你可以尝试关闭禁用扩展程序参数。
xsuvu9jc4#
我就是喜欢Python,我在我的项目中使用Python太多了,所以这里有一些改进和额外的注意事项
**代理认证:**如果您的代理需要认证,您需要在代理设置中包含用户名和密码。Selenium Wire支持以下格式:
字符串
Chrome驱动程序选项:
chrome_options
已弃用,改为选项。使用更新的术语是一个很好的做法:型
检查参数中是否缺少
--
:确保所有Chrome参数都以--
开头。有时缺少连字符可能会导致问题。**显式代理身份验证:**如果您仍然面临代理身份验证问题,请考虑使用可以处理代理身份验证或使用Selenium处理身份验证弹出窗口的扩展。
**故障日志记录:**添加日志记录以帮助诊断问题。Selenium Wire允许您查看浏览器发出的请求:
型
**WebDriver Path:**如果您的PATH环境变量中没有WebDriver的路径,请确保您已经指定了该路径:
型
错误处理:包括错误处理,以管理启动浏览器或导航到URL时可能发生的异常。
正确关闭WebDriver:确保WebDriver在使用后正确关闭,以避免任何资源泄漏。
型
**配置文件路径校验:**请仔细检查user_data_dir和profile_directory的合法性,路径不正确会导致Chrome默认启动,忽略指定配置文件。
**WebDriver Wait:**对于动态页面,请考虑使用显式等待,以确保加载与您交互的元素。
**无头模式:**为了在服务器环境中进行测试或运行,您可能希望在无头模式下运行Chrome:
型