Python 脚本没有执行
Python script is not executing
我有以下代码:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
def message(to,message=''):
"""this a simple function to send a whatsapp message to your friends
and group using python and selenium an automated tool to parse the HTML
content and to change the properties.
paramters:
to - enter a name from your contacts it can be friend's name or a group's title.
message - message to be deliever"""
d = webdriver.Chrome(r'C:/Users/Miguelangel/Desktop/chromedriver.exe')
d.get('https://web.whatsapp.com/') # URL to open whatsapp web
wait = WebDriverWait(driver = d, timeout = 900) # inscrease or decrease the timeout according to your net connection
message += '\nthis is a system generated message'
# additional text to with your message to identify that it is send via software
name_argument = f'//span[contains(@title,\'{to}\')]' # HTML parse code to identify your reciever
title = wait.until(EC.presence_of_element_located((By.XPATH,name_argument)))
title.click() # to open the receiver messages page in the browser
# many a times class name or other HTML properties changes so keep a track of current class name for input box by using inspect elements
input_path = '//div[@class="pluggable-input-body copyable-text selectable-text"][@dir="auto"][@data-tab="1"]'
box = wait.until(EC.presence_of_element_located((By.XPATH,input_path)))
box.send_keys(message + Keys.ENTER)
我从我的 windows 控制台终端执行。但它什么都不做,没有错误。见下图:
要使此代码基本上 运行 只需删除
def message(to,message=''):
并使这段代码扁平化。
当基本的东西可以工作并且代码变得更复杂时,您将不得不将其拆分为函数。
另外 message
的定义应该有点不同。
相反
message += '\nthis is a system generated message'
使用
message = '\nthis is a system generated message'
还要注意 to
参数。
在本地定义它。
我有以下代码:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
def message(to,message=''):
"""this a simple function to send a whatsapp message to your friends
and group using python and selenium an automated tool to parse the HTML
content and to change the properties.
paramters:
to - enter a name from your contacts it can be friend's name or a group's title.
message - message to be deliever"""
d = webdriver.Chrome(r'C:/Users/Miguelangel/Desktop/chromedriver.exe')
d.get('https://web.whatsapp.com/') # URL to open whatsapp web
wait = WebDriverWait(driver = d, timeout = 900) # inscrease or decrease the timeout according to your net connection
message += '\nthis is a system generated message'
# additional text to with your message to identify that it is send via software
name_argument = f'//span[contains(@title,\'{to}\')]' # HTML parse code to identify your reciever
title = wait.until(EC.presence_of_element_located((By.XPATH,name_argument)))
title.click() # to open the receiver messages page in the browser
# many a times class name or other HTML properties changes so keep a track of current class name for input box by using inspect elements
input_path = '//div[@class="pluggable-input-body copyable-text selectable-text"][@dir="auto"][@data-tab="1"]'
box = wait.until(EC.presence_of_element_located((By.XPATH,input_path)))
box.send_keys(message + Keys.ENTER)
我从我的 windows 控制台终端执行。但它什么都不做,没有错误。见下图:
要使此代码基本上 运行 只需删除
def message(to,message=''):
并使这段代码扁平化。
当基本的东西可以工作并且代码变得更复杂时,您将不得不将其拆分为函数。
另外 message
的定义应该有点不同。
相反
message += '\nthis is a system generated message'
使用
message = '\nthis is a system generated message'
还要注意 to
参数。
在本地定义它。