selenium与Firefox、Chrome的无界面浏览器整合

2021-09-19

一 Firefox


from selenium.webdriver import Firefox

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.firefox.options import Options

from selenium.webdriver.support import expected_conditions as expected

from selenium.webdriver.support.wait import WebDriverWait


if __name__ == "__main__":

    options = Options()

    options.add_argument('-headless')  # 无头参数

    driver = Firefox(executable_path='geckodriver', firefox_options=options)  # 配了环境变量第一个参数就可以省了,不然传绝对路径

    wait = WebDriverWait(driver, timeout=10)

    driver.get('http://www.google.com')

    wait.until(expected.visibility_of_element_located((By.NAME, 'q'))).send_keys('headless firefox' + Keys.ENTER)

    wait.until(expected.visibility_of_element_located((By.CSS_SELECTOR, '#ires a'))).click()

    print(driver.page_source)

    driver.quit()


二 Chrome

from selenium import webdriver

from selenium.webdriver.chrome.options import Options


chrome_options = Options()

chrome_options.add_argument('--no-sandbox')#解决DevToolsActivePort文件不存在的报错


chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率

chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug

chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument('blink-settings=imagesEnabled=false') #不加载图片, 提升速度

chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败

chrome_options.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" #手动指定使用的浏览器位置

driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get("https://cnblogs.com/")



摘自 https://blog.csdn.net/qq_30653631/article/details/102624667


联系信息

QQ:1827566828
Email: 1827566828@qq.com
Web: https://www.yynet.wang

留言