Python скрипт для включения / выключения WiFi - PullRequest
0 голосов
/ 27 октября 2018

Я хочу создать простой скрипт на python, который будет входить на мой веб-сайт маршрутизаторов, отключать Wi-Fi, а затем применять изменения, а также вносить изменения (включать Wi-Fi и применять изменения), к сожалению, мои знания тегов HTMLи python не достаточно хорош, поэтому, пожалуйста, помогите мне:)

Вот что я создал до сих пор:

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import requests

my_url = 'http://router/WLG_adv.htm'
response = requests.get(my_url, auth=requests.auth.HTTPBasicAuth('My_username', 'My_password'))
c = response.content
uClient = uReq(my_url)
soup = BeautifulSoup(c)
rows = soup.findAll('tr')[4::5]
soup.find("button", "button-apply")

... благодаря этому я могу войти вправильная страница с учетными данными и получить правильный код для манипуляции с:

Вот "часть флажка включения Wi-Fi" (я полагаю, что это check_wifi_sche ())

[<tr>
<td colspan="2">
<input checked="" name="enable_ap" onclick="check_wifi_sche()" type="checkbox" value="enable_ap"/> Enable Wireless Router Radio </td></tr>,   <tr>
<td colspan="2">
<div id="wifi_sche_div1">
<input name="wifi_onoff" type="checkbox" value="wifi_onoff"/> Turn off wireless signal by schedule 
</div>
</td>
</tr>, <tr><td colspan="2" height="12"><div style="background-image:url('liteblue.gif');width:100%"> </div></td></tr>, <tr>
<td colspan="2">
<input checked="" name="wsc_config" type="checkbox"/>
<font>  Keep Existing Wireless Settings  </font>
</td>
</tr>]

А вот кнопка "Применить"part ":

>>> soup.find("button", "button-apply")

<button class="button-apply" name="Apply" onclick="buttonClick(this,'Apply');return checkData();" type="submit" value="Apply"> <span class="roundleft_apply">Apply <span class="apply-icon">    </span></span><span class="roundright_apply">   </span></button>

Заранее спасибо.

1 Ответ

0 голосов
/ 03 ноября 2018

Мне удалось наконец решить эту проблему. Спасибо за ваш совет Дев, это действительно помогло. Поэтому моей задачей было сделать простой скрипт для включения / отключения Wifi и нажать кнопку «Применить» для роутера NETGEAR WNR3500Lv2.

Я выкладываю информацию, как это сделать, если кому-то это нужно :) (обратите внимание, что в адресной строке маршрутизатора (вы должны поместить свои учетные данные маршрутизатора, где я поставил X и Y.

# -*- coding: latin-1 -*-                   
# Ranorex selocity do chrome'a               <<< Very helpful tool for chrome to extract paths from websites.
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()   # Remember to have your chrome driver in $PATH (download driver from google)
base_url = "http://XXXXXXXXXXXX:YYYYYYYYYY@ROUTERS-IP-ADDRESS/WLG_adv.htm"            # Place your login:password here:
driver.get(base_url)

# Wifi click
wifi_button = driver.find_elements_by_xpath("//input[@name='enable_ap' and @value='enable_ap']")[0]
wifi_button.click()

# Apply click
apply_button = driver.find_element_by_xpath("//form[@id='target']/table[@class='subhead2-table']//button[@name='Apply']/span[@class='roundleft_apply']")
apply_button.click()

# Closing page (don't worry, it will complete the task, even when it's closed fast.
driver.stop_client()
driver.close()
...