当前环境:
Windows 10 + Python 3.7 + selenium==3.141.0 + urllib3==1.26.2 + Chromium 65.0.3312.0 (32 位)
在 WebDriver 中提供了执行 JavaScript 的方法:
execute_script(script, *args),JavaScript 代码以字符串的形式构建,然后传给该方法执行。
参数说明:
script: 以字符串形式构建的 JavaScript 代码;
*args: 以可变参数形式接收参数,并将参数传递给 JavaScript 代码。在 JavaScript 代码中会以数组arguments来接收 execute_script() 方法传递的参数。
from selenium import webdriver
import time
if __name__ == '__main__':
import os
os.system('chcp 65001')
os.system('taskkill /F /IM chromedriver.exe')
# Chrome 路径
CHROME_PATH = r'C:Program Files (x86)65.0.3312.0chrome-win32chrome.exe'
# ChromeDriver 路径
CHROMEDRIVER_PATH = r'C:Program Files (x86)65.0.3312.0chromedriver_win32chromedriver.exe'
options = webdriver.ChromeOptions()
# 取消 Chrome 正受到自动测试软件的控制
options.add_experimental_option("excludeSwitches", ["enable-automation"])
# 取消 请停用以开发者模式运行的扩展程序
options.add_experimental_option("useAutomationExtension", False)
# 手动指定使用的浏览器位置
options.binary_location = CHROME_PATH
driver = webdriver.Chrome(executable_path=CHROMEDRIVER_PATH, options=options)
url = 'https://www.baidu.com'
driver.get(url)
print(driver.title)
# 1 点击 按键
element = driver.find_element_by_id('su')
driver.execute_script("arguments[0].click();", element)
# 2 打开新标服务器托管网签页 (空白)
driver.execute_script("window.open('','_blank');")
# 2 打开新标签页 (特定网址)
new_tab_url = 'https://www.selenium.dev/zh-cn/#'
driver.execute_script(f'window.open("{new_tab_url}", "_blank");')
# 3 获取 属性 value 值
js = "document.getElementById('su').getAttribute('value')"
value = driver.execute_script("return %s" % js)
print(value)
# 退出
driver服务器托管网.quit()
''' 参考: https://blog.csdn.net/minzhung/article/details/102744491 https://blog.csdn.net/kinghzking/article/details/122626574 https://blog.csdn.net/minzhung/article/details/102744491 '''
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 从兔子说起:了解RabbitMQ消息的多样化【RabbitMQ 二】
:你只管努力,剩下的交给时间 :小破站 从兔子说起:了解RabbitMQ消息的多样化 第一:消息的可靠性与持久性 第二:消息交换机与队列 第三:消息确认与拒绝 第四:消息的过期与优先级 第五:消息顺序保证 第一:消息的可靠性与持久性 在消息传递系统中,确保消息…