在做web自動化過程,有時會遇到文字框為唯讀狀態,無法手動輸入值,這時就需要使用js,將其readonly屬性設定為false,再進行send_keys操作。
那麼,轉換成python**,如何實現呢?
以下**中實現了手動修改出發地、目的地和出發日期的功能:
#-*- coding: utf-8 -*-
#@time : 2020/3/17 14:33
#@author : benben
#@file : js_12306.py
from selenium import
webdriver
from selenium.webdriver.common.by import
byfrom selenium.webdriver.support.wait import
webdriverwait
from selenium.webdriver.support import
expected_conditions as ec
import
time
driver =webdriver.chrome()
driver.maximize_window()
driver.get(
"")#查詢出發地
start_text = (by.xpath, '
//input[@id="fromstationtext"]')
start = (by.xpath, '
//input[@id="fromstation"]')
st_ele = driver.find_element(*start_text)
s_ele = driver.find_element(*start)
#修改出發地
webdriverwait(driver, 10).until(ec.visibility_of_element_located(start_text))
time.sleep(3)
driver.execute_script(
'var st=arguments[0];var s=arguments[1];st.value ="北京";s.value="bjp"
', st_ele, s_ele)
#查詢目的地
to_text = (by.xpath, '
//input[@id="tostationtext"]')
to = (by.xpath, '
//input[@id="tostation"]')
to_ele = driver.find_element(*to_text)
t_ele = driver.find_element(*to)
#修改目的地
webdriverwait(driver, 10).until(ec.visibility_of_element_located(to_text))
driver.execute_script(
'var tx=arguments[0]; to=arguments[1];tx.value="上海";to.value="shh"
', to_ele, t_ele)
#查詢日期框
loc = (by.xpath, '
//input[@id="train_date"]')
element = driver.find_element(*loc)
#修改日期框中的 readonly 屬性
d_date = time.strftime("
%y-%m-%d
", time.localtime())
driver.execute_script(
"var a=arguments[0];a.readonly = false;a.value=arguments[1];
", element, d_date)
#點選查詢按鈕
driver.find_element(by.xpath, '
//a[@id="search_one"]
').click()
time.sleep(3)
driver.quit()
web自動化之Select標籤操作
from selenium import webdriver from selenium.webdriver.support.wait import webdriverwait from selenium.webdriver.support import expected conditions as...
web自動化 模擬滑鼠 鍵盤操作
一 滑鼠操作 1.1滑鼠的懸停操作,move to element from selenium import webdriver from selenium.webdriver.common.action chains import actionchains action actionchains ...
AutoIt 軟體自動化操作
autoit 目前最新是v3版本,這是乙個使用類似basic指令碼語言的免費軟體,它設計用於windows gui 圖形使用者介面 中進行自動化操作。它利用模擬鍵盤按鍵,滑鼠移動和視窗 控制項的組合來實現自動化任務。而這是其它語言不可能做到或無可靠方法實現的 例如vbscript和sendkeys ...