import time
t1=time.time()
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, select, wait
from selenium.webdriver.common.by import By
import re
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36 Edg/91.0.864.48')
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver=webdriver.Chrome('K:/zhusc/chromedriver.exe', options=chrome_options)
with open('K:/zhusc/stealth.min.js') as f:
js = f.read()
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": js
})
driver.get("http://account.sonyentertainmentnetwork.com/")
def wait_for_you(myDynamicElement):
try:
wait=WebDriverWait(driver,20)
element=wait.until(EC.presence_of_element_located((By.XPATH,myDynamicElement)))
except:
print('can not find the element:',myDynamicElement)
driver.maximize_window() #窗口最大化
wait_for_you('//*[@id="ember19"]')
# js1='document.querySelector("#ember19").value="123"'
# driver.execute_script(js1)#能输入,但导致无法点击登录
# js2='document.querySelector("#ember22").value="456"'
# driver.execute_script(js2)#能输入,但导致无法点击登录
#如果账号密码是用js输入就无法点击登录,但账号密码用直接用selenium,点击登录调用js是可行的
driver.find_element_by_xpath('//*[@id="ember19"]').send_keys('123')
driver.find_element_by_xpath('//*[@id="ember22"]').send_keys('123')
js='document.querySelector("#ember24 > button > span").click()'
driver.execute_script(js)#用selenium的XPATH点击无效
time.sleep(3)
driver.quit()
print(time.time()-t1)
SONY--用python执行js语句点击登录
最新推荐文章于 2023-05-04 16:18:50 发布