我正在尝试使用proxymesh.com中的代理来抓取
我目前正在使用以下代码, 它会打开Chrome并创建一个javascript警报来输入用户名和密码。 我每次运行脚本的新实例时都会手动执行此操作。
如果有人可以帮助自动化它。
有两种方法可以做到,
以某种方式通过Chrome选项
传递用户名和密码OR
以某种方式让webdriver切换到javascript警报并在那里输入用户名和密码。
到目前为止,这是我的代码,
from selenium import webdriver
chrome_option = webdriver.ChromeOptions()
chrome_option.add_argument("--proxy-server=http://us.proxymesh.com:31280")
b = webdriver.Chrome('chromedriver.exe',
chrome_options=chrome_option)
"Do Something"
提前致谢
答案 0 :(得分:0)
这对我使用Chrome和代理身份验证起了作用。我没有proxymesh帐户,因此您必须自行验证是否有效:
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
proxy = {'address': 'us.proxymesh.com:31280',
'usernmae': 'johnsmith123',
'password': 'iliketurtles'}
capabilities = dict(DesiredCapabilities.CHROME)
capabilities['proxy'] = {'proxyType': 'MANUAL',
'httpProxy': proxy['address'],
'ftpProxy': proxy['address'],
'sslProxy': proxy['address'],
'noProxy': '',
'class': "org.openqa.selenium.Proxy",
'autodetect': False}
capabilities['proxy']['socksUsername'] = proxy['username']
capabilities['proxy']['socksPassword'] = proxy['password']
driver = webdriver.Chrome(executable_path=[path to your chromedriver], desired_capabilities=capabilities)