Мое приложение является приложением 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 ++?