selenium的使用(四)

235 阅读1分钟

多个浏览器窗口

from selenium import webdriver
import time

"""
多个浏览器窗口
"""
driver = webdriver.Chrome(r"C:\Users\xxxx\Desktop\chromedriver.exe")
driver.get("https://www.baidu.com")

time.sleep(3)
driver.find_element_by_link_text(u"登录").click()
time.sleep(3)
driver.find_element_by_link_text(u"立即注册").click()
firstwin = driver.current_window_handle
"""
在这里有个地方需要说明一下,就是我们在点击立即注册的时候,是打开了一个新页面
但是此时的窗体的主体仍然是登录的那个,所以后面的不等于/切换也就对的上了
"""
allwindows = driver.window_handles  # 所有的窗口

# 选择注册窗口
for win in allwindows:
    print(win)
    if win != firstwin:
        driver.switch_to.window(win)
        print("切换成功")
        driver.find_element_by_id("TANGRAM__PSP_4__userName").send_keys("hello")
    time.sleep(3)

driver.close()   # 关闭当前

time.sleep(5)
driver.quit()    # 关闭所有的窗口

模拟鼠标进行操作

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

"""
selenium 模拟鼠标进行操作
"""

driver = webdriver.Chrome(r"C:\Users\xxxx\Desktop\chromedriver.exe")
driver.maximize_window()
driver.get("https://www.baidu.com")
above = driver.find_element_by_link_text(u"设置")
ActionChains(driver).move_to_element(above).perform()  # 悬浮,鼠标停留
time.sleep(4)
# ActionChains(driver).move_to_element(elem)  #移动
ActionChains(driver).move_to_element(above).context_click() # 单击
# ActionChains(driver).move_to_element(above).double_click() # 双击
# ActionChains(driver).move_to_element(above).drag_and_drop() # 拖放

time.sleep(5)
driver.close()

模拟手机端的数据抓取

"""
模拟手机端的数据抓取
步骤:
    1.options = webdriver.ChromeOptions()
    2.options.add_experimental_option("mobileEmulation",{"deviceName":"iPhone X"})
    3.wevdriver.Chrome("path",chrome_options = options)
"""

from selenium import webdriver
import time

mobilesetting = {"deviceName":"iPhone X"}
options = webdriver.ChromeOptions()  # 选项
options.add_experimental_option("mobileEmulation",mobilesetting)  # 模拟手机

driver = webdriver.Chrome(r"C:\Users\xxxx\Desktop\chromedriver.exe",chrome_options=options)
driver.set_window_size(500,1000)
driver.maximize_window()   # 全屏
driver.get("https://www.taobao.com")

time.sleep(10)

driver.save_screenshot("taobao.jpg")
driver.close()