JS发送
写js代码时,建议现在网友F12控制台中先进行编写,然后在复制到python中,以防出现错误
实例1:
driver.get("https://www.12306.cn/index/")
#使用强制等待
time.sleep(1)
#发送js code给浏览器
js_code = """e = document.getElementById("train_date")
e.readOnly = false;
e.value = "2020-07-20" """
driver.excute_script(js_code)
实例2:
driver.get("https://www.12306.cn/index/")
#使用强制等待
time.sleep(1)
#发送js code给浏览器
js_code = """e = document.getElementById("train_date")"""
js_code = """e.readOnly = false;"""
js_code = """e.value = "2020-07-20" """
driver.excute_script(js_code)
窗口滚动
滚动方式
- js代码:
e.scrolllntoView()
elem.location_once_scrolled_into_view
滑动到页面最底部
for i in range(3)
js_code = 'window.scrollTo(0,document.body.scrollHeight);'
driver.execute_script(js_code)
文件上传
方法1:
#定位上传文件按钮
elem_file = driver.find_element_by_name("file")
#输入文件路径
elem_file.send_keys("d:\demo.txt")
方法2: Pywinauto(windows系统)
#有时候文件上传不是一个普通的input元素,可能是其他元素或者组件
from pywinauto import Desktop
app = Desktop()
#根据名字找到弹出窗口
dialog = app['打开']
#在输入框中输入值
dialog['Edit'].type_keys('D:\demo.txt")
dialog['Button'].click()
方法3: pyautogui(Windows 和 Mac 都可以用)(不支持中文)
#必须使用pip进行倒入,必须要先倒入pillow ,如果python为3.8版本导入格式: pip install pyautogui python3.8
pip install pillow==6.2.2
pip install pyautogui
import pyautogui
pyautogui.write('d:\demo.txt')
pyautogui.press('enter',2)
方法4: 中文(支持linux 和 mac 和 windows)
import pyperclip
pypercli.copy('d:\用户.txt')
pyautogui.hotkey('ctrl','v')
pyautogui.press('enter',presses=2)