Перевести скрипт Python на qt или c ++ - PullRequest
1 голос
/ 21 июня 2019

Мое приложение является приложением Qt c++, и мне нужно только проверить, что информация была добавлена ​​в Menu1 или Menu2 .., поэтому мне нужно дважды щелкнуть каждое из них. И для этого мне нужно прочитать получившуюся страницу после двойного щелчка по selenium. Информация не видна до тех пор, пока я дважды не нажму, поэтому я автоматизировал двойной щелчок.

<div class="tbl-content">
    <table class="hoverTable" cellpadding="0" cellspacing="0" border="0" id="alarms">
        <tbody>
            <tr ondblclick="DoubleRowClick(this, '9', '2019-06-26 08:46:10', '2019-06-26 08:47:16');" id="Read">…</tr>
            <tr ondblclick="DoubleRowClick(this, '8', '2019-06-26 08:44:52', '2019-06-26 08:45:58');" id="Read">…</tr>
            <tr ondblclick="DoubleRowClick(this, '7', '2019-06-26 08:41:21', '2019-06-26 08:42:27');" id="NotRead">…</tr>
        <tbody>
    </table>
</div>

И мой код:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.common.exceptions import NoSuchElementException
import sys 

parsedPageHtmlFileName  = sys.argv[1]
sensorName              = sys.argv[2]

loginGUI = "http://1.2.3.5:8555/"
pwdHtmlID = "pwd"
pwd ="0000"
alarmsmenu = "http://1.2.3.5:8555/menu.php"

print('htmlFileName : ' + parsedPageHtmlFileName)
print('elemnameName : ' + sensorName)

#LOG IN :

driver = webdriver.Chrome()
driver.get(loginGUI)
elem = driver.find_element_by_name(pwdHtmlID)
elem.clear()
elem.send_keys(pwd)
elem.send_keys(Keys.ENTER)
driver.get(alarmsmenu)
pageStr = "\n****************************** NEW BROWSING *********************************\n" #init

#NOT READ :

try:
    element = driver.find_element_by_xpath("//*[@id='NotRead']") 
    actions = ActionChains(driver)
    actions.double_click(element).perform()
    page = driver.page_source
    pageStr += str(page)
    print("Yes : AlarmsNOTREADFound")

except NoSuchElementException:
    print("No : AlarmsNOTREADFound")

#READ :

try:
    element = driver.find_element_by_xpath("//*[@id='Read']")
    actions = ActionChains(driver)
    actions.double_click(element).perform()
    page = driver.page_source
    pageStr += str(page)
    print("Yes : ElementREADFound")
except NoSuchElementException:
    print("No : AlarmsREADFound")

file_ = open(parsedPageHtmlFileName, 'a+')              
file_.write(pageStr)
file_.close()
driver.close()
driver.quit()

Этот код позволяет мне щелкнуть по последнему элементу NotRead или Read. У меня нет статуса «Чтение» или «Чтение», но веб-интерфейс был закодирован следующим образом, и я должен адаптировать свой тестовый код к нему, чтобы почему мне нужно нажать на каждую кнопку и проверить в каждом меню, есть ли информация, которую я ищу .. она может присутствовать внутри любого меню.

Как сделать то же самое в qt или c ++?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...