selenium参数的使用

本文介绍了在Selenium中使用Chrome59版本以上的无头模式,设置代理服务器以及防止网站检测自动化工具的方法,包括使用`--headless`参数、Proxy类和排除自动化标志等技巧。
摘要由CSDN通过智能技术生成

selenium_参数的使用

chrome59版本以后可以变成无头的浏览器,加以下参数

def test_headless():
  # 设置参数,将浏览器隐藏起来(无头浏览器)
  options = ChromeOptions()
  options.add_argument('--headless')
  # 设置驱动
  service = Service('./chromedriver')
  # 启动Chrome浏览器
  driver = Chrome(service=service,options=options)
  # 访问页面
  driver.get('https://www.baidu.com')
  # 打印代码
  print(driver.page_source)
  #  关闭浏览器
  driver.quit()

代理模式

def test_proxy1():
  # 设置参数,给浏览器设置代理
  options = ChromeOptions()
  # options.add_argument('--proxy-server=http://ip:port')
  options.add_argument('--proxy-server=http://221.199.36.122:35414')
  # 设置驱动
  service = Service('./chromedriver')
  # 启动Chrome浏览器
  driver = Chrome(service=service,options=options)
  # 访问页面  "134.195.101.16",
  driver.get('http://httpbin.org/get')
  # 打印代码
  print(driver.page_source)
  #  关闭浏览器
  driver.quit()


def test_proxy2():
  from selenium.webdriver.common.proxy import ProxyType,Proxy
  # 设置参数,给浏览器设置代理
  ip = 'http://113.76.133.238:35680'
  proxy = Proxy()
  proxy.proxy_type = ProxyType.MANUAL
  proxy.http_proxy = ip
  proxy.ssl_proxy = ip
  # 关联浏览器
  capabilities = DesiredCapabilities.CHROME
  proxy.add_to_capabilities(capabilities)


  # 设置驱动
  service = Service('./chromedriver')
  # 启动Chrome浏览器
  driver = Chrome(service=service,desired_capabilities=capabilities)
  # 访问页面  "134.195.101.16",
  driver.get('http://httpbin.org/get')
  # 打印代码
  print(driver.page_source)
  #  关闭浏览器
  driver.quit()


防检测设置

from selenium.webdriver import Chrome
from selenium.webdriver import ChromeOptions


options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)

chrome = Chrome(chrome_options=options)

chrome.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
  "source": """
     Object.defineProperty(navigator, 'webdriver', {
     get: () => false
     })
   """
})


chrome.get('http://httpbin.org/get')
info = chrome.page_source


print(info)
sleep(20)


  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 Java 中使用 Selenium WebDriver 进行自动化测试时,你可以通过设置不同的参数来控制和配置浏览器的行为。下面是一些常用的参数设置示例: 1. 设置浏览器驱动路径: ```java System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); ``` 在此示例中,我们设置 ChromeDriver 的路径为 "/path/to/chromedriver"。你需要根据你的实际情况修改路径。 2. 设置浏览器类型: ```java WebDriver driver = new ChromeDriver(); ``` 在此示例中,我们创建了一个 ChromeDriver 实例,表示使用 Chrome 浏览器进行测试。你也可以使用其他浏览器的驱动程序,例如 FirefoxDriver、EdgeDriver 等。 3. 设置浏览器窗口大小: ```java driver.manage().window().setSize(new Dimension(1024, 768)); ``` 在此示例中,我们将浏览器窗口大小设置为 1024x768 像素。你可以根据你的需求自行调整大小。 4. 设置页面加载超时时间: ```java driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS); ``` 在此示例中,我们将页面加载超时时间设置为 30 秒。如果页面在指定时间内没有加载完成,将抛出 TimeoutException 异常。 5. 设置元素查找超时时间: ```java driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); ``` 在此示例中,我们将元素查找超时时间设置为 10 秒。如果在指定时间内没有找到要查找的元素,将抛出 NoSuchElementException 异常。 6. 设置脚本执行超时时间: ```java driver.manage().timeouts().setScriptTimeout(5, TimeUnit.SECONDS); ``` 在此示例中,我们将脚本执行超时时间设置为 5 秒。如果执行的 JavaScript 脚本在指定时间内没有完成,将抛出 TimeoutException 异常。 这些只是一些常用的参数设置示例,你可以根据你的具体需求和场景进行更多的配置和调整。请注意,参数设置的方法和调用顺序可能会有所不同,具体取决于你使用的浏览器驱动和 Selenium 版本。建议参考相关文档和示例代码以获取更准确和详细的参数设置信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留不住的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值