python 23 selenium高级和使用代理
1. selenium使用代理
- 第一步:创建配置对象
from selenium.webdriver import Chrome,ChromeOption
options = ChromeOptions()
- 第二步:添加配置
options.add_argument('--proxy-server=http://代理服务器:端口')
-
第三步:通过指定配置创建浏览器对象
b = Chrome(options = options) #options:选择、选项、选择权,相当于做了一个配置,借助这个配置创建浏览器对象 b.get('https://www.baidu.com/') print(b.page_source)
2. selenium基本配置
-
取消自动测试
from selenium.webdriver import Chrome,ChromeOptions options = ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation']) b = Chrome(options=options) b.get('https://www.baidu.com/') b.implicitly_wait(5)
-
取消图片加载
options.add_experimental_option("prefs", { "profile.managed_default_content_settings.images": 2}) print(b.page_source) b.close()
3. selenuim等待
3.1 隐式等待
-
如果没有设置隐式等待:在通过浏览器获取标签的时候,如果标签不存在会直接报错
-
如果设置了隐式等待:在通过浏览器获取标签的时候,如果标签不存在不会直接报错,而是在指定时间范围内,不断尝试重新获取标签,直到获取到标签或者超时为值(如果超时会报错)
-
一个浏览器只需设置一次隐式等待时间,它会作用于这个浏览器每次获取标签的时候
#sleep设置等待时间,如果给出的时间不够,有可能没有加载完,会报错,隐式等待比较灵活。 from selenium.webdriver import Chrome,ChromeOptions from selenium.webdriver.common.by import By options = ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation']) # 取消图片加载 options.add_experimental_option("prefs",