跑步 Selenium Webdriver 通过代理 Python
我正在尝试运行脚本 Selenium Webdriver 在 Python 执行一些主要任务。 当我开始它时,我可以让机器人完美地工作 Selenium IDE inteface /即:当只是强迫时 GUI 重复我的行为/. 但是,当我将代码导出为脚本时 Python 并尝试从命令行,浏览器执行它 Firefox 将打开,但永远无法访问开始 URL /错误返回命令行,程序停止/. 无论哪个网站等,这都发生在我身上。 我正在努力访问。
我在这里打开了一个非常简单的演示目的代码。 我认为我不正确地打开代理代码部分,因为返回错误似乎是由代理服务器生成的。
任何帮助都非常感激。
下面的代码简单地打开。 www.google.ie 和搜索单词 "selenium". 对我来说,它打开了一个空浏览器 firefox 并停止。
我在这里打开了一个非常简单的演示目的代码。 我认为我不正确地打开代理代码部分,因为返回错误似乎是由代理服务器生成的。
任何帮助都非常感激。
下面的代码简单地打开。 www.google.ie 和搜索单词 "selenium". 对我来说,它打开了一个空浏览器 firefox 并停止。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
from selenium.webdriver.common.proxy import *
class Testrobot2/unittest.TestCase/:
def setUp/self/:
myProxy = "[url=http://149.215.113.110:70"]http://149.215.113.110:70"[/url]
proxy = Proxy/{
'proxyType': ProxyType.MANUAL,
'httpProxy': myProxy,
'ftpProxy': myProxy,
'sslProxy': myProxy,
'noProxy':''}/
self.driver = webdriver.Firefox/proxy=proxy/
self.driver.implicitly_wait/30/
self.base_url = "[url=https://www.google.ie/"]https://www.google.ie/"[/url]
self.verificationErrors = []
self.accept_next_alert = True
def test_robot2/self/:
driver = self.driver
driver.get/self.base_url + "/#gs_rn=17&gs_ri=psy-ab&suggest=p&cp=6&gs_id=ix&xhr=t&q=selenium&es_nrs=true&pf=p&output=search&sclient=psy-ab&oq=seleni&gs_l=&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47883778,d.ZGU&fp=7c0d9024de9ac6ab&biw=592&bih=665"/
driver.find_element_by_id/"gbqfq"/.clear//
driver.find_element_by_id/"gbqfq"/.send_keys/"selenium"/
def is_element_present/self, how, what/:
try: self.driver.find_element/by=how, value=what/
except NoSuchElementException, e: return False
return True
def is_alert_present/self/:
try: self.driver.switch_to_alert//
except NoAlertPresentException, e: return False
return True
def close_alert_and_get_its_text/self/:
try:
alert = self.driver.switch_to_alert//
alert_text = alert.text
if self.accept_next_alert:
alert.accept//
else:
alert.dismiss//
return alert_text
finally: self.accept_next_alert = True
def tearDown/self/:
self.driver.quit//
self.assertEqual/[], self.verificationErrors/
if __name__ == "__main__":
unittest.main//
没有找到相关结果
已邀请:
12 个回复
快网
赞同来自:
快网
赞同来自:
您可以了解更多关于它的信息。
http://docs.seleniumhq.org/doc ... proxy
.
喜特乐
赞同来自:
然后打电话给你的代码:
我有这个代码的问题,因为我将字符串传递为端口 #:
这非常重要:
您必须传递整数而不是字符串,否则您的个人资料 firefox 它不会安装在正确的端口上,通过代理的连接将无法工作。
小明明
赞同来自:
然后打电话
来自您的计划。
卫东
赞同来自:
涵秋
赞同来自:
江南孤鹜
赞同来自:
这个计划
测试
如何 Windows 8, 和 Mac OSX. 如果您正在使用 Mac OSX 如果你没有更新 selenium, 然后你可能会遇到
. 如果是,请在更新后重复尝试 selenium
知食
赞同来自:
这是我对上述问题的决定。 简单而甜蜜
OR
小姐请别说爱
赞同来自:
https://coderoad.ru/17988821/
要么不适合我 Selenium 3.14 和 Firefox 68.9 在 Linux, 或者太复杂了。 我需要使用配置 WPAD, 有时用于代理 /在 VPN/, 有时不是。 在研究代码后,我结束了::
代理服务器初始化建立 proxyType 在 ProxyType.PAC /自动配置从 A URL/ 作为副作用。
他还与自动检测合作 Firefox, 使用:
但我认为它会像内在一样工作 URLs /没有代理/, 所以用外部 /突出/ 时尚 WPAD. 类似的代理服务器设置必须用于手动配置。 可以在代码中看到可能的代理服务器设置。
https://www.selenium.dev/selen ... .html
.
请注意,Proxy对象的直接传输为
驱动器不起作用 - 它被接受,但忽略了 /obsolesh时必须有警告,但在我的情况下我认为这一点 Behavior 吞下它/.
诸葛浮云
赞同来自:
https://github.com/SeleniumHQ/ ... ities
被删除了。 最大限度:
八刀丁二
赞同来自:
冰洋
赞同来自: