Python 调用 selenium chromedriver 常用配置

话不多说,上示例代码

from selenium import webdriver
import time

chromedriver = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe"

#设置不加载图片
chrome_opt = webdriver.ChromeOptions()
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_opt.add_experimental_option("prefs", prefs)

dirver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_opt)

dirver.get("https://www.zhihu.com/signup?next=%2F")

#获取页面HTML
html = driver.page_source

dirver.find_element_by_xpath("//div[@class='SignContainer-switch']/span").click()

dirver.find_element_by_xpath("//div[@class='SignFlow-accountInput Input-wrapper']/input").send_keys("")

dirver.find_element_by_xpath("//div[@class='SignFlow-password']/div/div[@class='Input-wrapper']/input").send_keys("")

dirver.find_element_by_xpath("//button[@class='Button SignFlow-submitButton Button--primary Button--blue']").click()

cookie = [item["name"] + "=" + item["value"] for item in dirver.get_cookies()]

cookiestr = ';'.join(item for item in cookie)

print(cookiestr)

上述代码是登录知乎的示例,

其中,send_keys("")填写的是用户名和密码。
首先点击find_element_by_xpath("//div[@class='SignContainer-switch']/span")这个元素切换到输入用户名和密码的界面,
然后使用xpath找到用户名和密码的元素位置,执行send_keys("")方法填充用户名和密码,
最后找到登录按钮,执行点击动作。

cookie = [item["name"] + "=" + item["value"] for item in dirver.get_cookies()]
这行代码是获取登录后的cookie。

js = 'function scroll(){var scrollElem=document.scrollingElement;scrollElem.scrollTop = len;le = document.scrollingElement.scrollTop;He = document.scrollingElement.scrollHeight;cl = document.scrollingElement.clientHeight;if(le + cl == He&&le + cl!=0) {}len=len+300;setTimeout(scroll,500)};len = 0;scroll();'
driver.execute_script(js)

上边两行代码是执行js脚本使界面自动下拉滚动。

你可能感兴趣的:(Python 调用 selenium chromedriver 常用配置)