一、添加代理
options = ChromeOptions()
options.add_argument("--proxy-server={}".format('代理地址'))
二、加载插件
options = ChromeOptions()
extension_path = "插件路径"
options.add_argument(f"load-extension={extension_path}")
三、嵌套页面(切换iframe)
from selenium.webdriver.chrome.service import Service
from selenium.webdriver import ChromeOptions
options = ChromeOptions()
service = Service('谷歌驱动路径')
options.add_argument('--no-sandbox')
browser = webdriver.Chrome(service=service, options=options)
四、selenium清除指纹过环境检测
五、添加cookie
from selenium.webdriver.chrome.service import Service
from selenium.webdriver import ChromeOptions
options = ChromeOptions()
service = Service('谷歌驱动路径')
options.add_argument('--no-sandbox')
browser = webdriver.Chrome(service=service, options=options)
browser.execute_script('return window.localStorage.setItem("{}", "{}");'.format('cookie键', 'cookie值'))
六、嵌套shadow_root
前言:这是一种另类嵌套,需要一步步地进去才能获取里面的element
特征:
<settings-ui>
#shadow-root
</settings-ui>
操作1:
shadow_parent_element = shadow_root.find_element(By.CSS_SELECTOR, 'settings-ui')
shadow_root = shadow_parent_element.shadow_root
操作2:
element = driver.execute_script('document.querySelector("settings-ui")