广告位

您现在的位置是:主页 > SEO相关技术 >

Python自动化模块selenium小技巧

2019-12-15 09:09SEO相关技术 人已围观

简介一 、 去除自动化提示框 # 加启动配置 chorme_options = webdriver.ChromeOptions()chorme_options.add_argument( disable-infobars ) # 打开chrome浏览器 driver = webdriver.Chrome( chrome_options =chorme_options)...

一 、 去除自动化提示框



selenium提示框

只需要在打开浏览器时加载配置即可 下面为示例代码

from selenium import webdriver

# 加启动配置
chorme_options = webdriver.ChromeOptions()
chorme_options.add_argument('disable-infobars')

# 打开chrome浏览器
driver = webdriver.Chrome(chrome_options=chorme_options)
driver.get("http://www.black-seo.com")
print(driver.title)


二 、 限定页面加载时长或打开页面即查找指定原素


from selenium import webdriver
from selenium.webdriver import DesiredCapabilities
# 修改页面加载配置 即打开页面即查找 不等js等文件加载完成
desired_capabilities = DesiredCapabilities.CHROME
desired_capabilities["pageLoadStrategy"] = "none"
# 打开chrome浏览器
driver = webdriver.Chrome()
driver.get("http://www.black-seo.com")
#限定页面最长加载时间 和上面的修改配置选其一即可
driver.set_page_load_timeout(5)
print(driver.title)



如果限定最长加载时长,最好配上重要元素等待,否则容易出现找不到元素
 



from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome() wait = WebDriverWait(driver,10,1)

10为最长等待时间,1为每隔几秒扫描一下是否存在

 

三 、Selenium 后台执行,不打开浏览器


chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("http://www.black-seo.com")
print(driver.title)
driver.close()


四 、伪装Selenium为正常的浏览器请求


chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])
'''在我们使用Selenium,浏览器是可以检测到我们的行为的
我们在正常打开浏览的时候在Console下输入window.navigator.webdriver
返回会是undefind如果我们使用selenium打开返回结果就会是True所以在我们必要的
时候需要规避这个行为
'''
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("http://www.black-seo.com")
print(driver.title)

如果你有什么问题,欢迎您添加五季度网站优化的QQ:2642657068 了解

如果您的问题没有得到解决可以联系五季度网站优化管理员或者直接添加管理员QQ:2642657068

Tags: selenium无浏览器