# 推薦學習:https://www.w3school.com.cn/js/index.asp
#
# 下面以簡書登錄&注冊定位元素為例
"""
js定位 id name class_name xpath css元素器
除了id是定位到的是單個的element元素對象,其他的都是elements返回的是list對象
1.通過id獲取
js_id = 'document.getElementById("id的值");'
2.通過CLASS獲取
js_class = 'document.getElementsByClassName("class的值")[0];'
3.通過Name獲取
js_name = 'document.getElementsByName("name的值")[0];'
4.通過標簽名選取元素
js_tag = 'document.getElementsByTagName("tag的值")[0];'
5.通過CSS選擇器選取元素
js_css = 'document.querySelectorAll("CSS Selector語法")[0];'
"""
from selenium import webdriver
import time as t
driver = webdriver.Chrome()
driver.get('https://www.jianshu.com/sign_in')
#js id 定位注冊
js_id = 'document.getElementById("js-sign-up-btn").click();'
driver.execute_script(js_id)
t.sleep(2)
#返回首頁
driver.get('https://www.jianshu.com/sign_in')
#js CLASS 定位登錄
js_class = 'document.getElementsByClassName("active")[0].click();'
driver.execute_script(js_class)
t.sleep(2)

#js Name 輸入用戶名
js_name = 'document.getElementsByName("session[email_or_mobile_number]")[0].value="username";'
driver.execute_script(js_name)
t.sleep(2)
#js tag 輸入密碼
js_tag = 'document.getElementsByTagName("input")[3].value="123456";'
driver.execute_script(js_tag)
t.sleep(2)

#js Css 點擊登錄
js_css = 'document.querySelectorAll(".sign-in-button")[0].click();'
driver.execute_script(js_css)
t.sleep(2)

driver.quit()
"""
jquery操作處理
jquery語法
jq_id = '$("id").vla(值)' --輸入文本內容
jq_id = '$("id").click()' --點擊
jq 處理id 、type、tag層級定位
"""
from selenium import webdriver
import time as t
driver = webdriver.Chrome()
#簡書站點
driver.get('https://www.jianshu.com/sign_in')
#根據id定位 #代表id
jq_id = '$("#session_email_or_mobile_number").val("username")'
driver.execute_script(jq_id)
t.sleep(2)
#根據type定位 type屬性定位:屬性值 輸入密碼
jq_type = '$(":password").val("123")'
driver.execute_script(jq_type)
t.sleep(1)

#按層次定位 勾選記住我
#1.帶有標簽 type定位
jq_remember = '$(".remember-btn > input:checkbox").val("123456")'
driver.execute_script(jq_remember)
t.sleep(2)
#2.不帶標簽
# jq_remember = '$(".remember-btn > :checkbox").click())'
# driver.execute_script(jq_remember)
# t.sleep(2)
#3.不帶層次符號
# jq_remember = '$(".remember-btn :checkbox").click())'
# driver.execute_script(jq_remember)
# t.sleep(2)
#4.選擇最后一個標簽(input)的元素
# jq_remember = '$(".remember-btn > input:last").click())'
# driver.execute_script(jq_remember)
# t.sleep(2)

#class 定位 定位登錄按鈕
jq_remember = '$(".sign-in-button").click()'
driver.execute_script(jq_remember)
t.sleep(2)
driver.quit()