konctantin777 |
Отправлено: 04 Июня, 2021 - 22:50:07
|
Эксперт
Покинул форум
Сообщений всего: 1152
Дата рег-ции: Окт. 2017
Откуда: Архангельск
Репутация: 6
|
Kibor пишет: По селектору.
Вставил как на скрине- сделал 2 квадратика- не нажимает ( Просто показывает, что от одного к другому переходит..
CODE:function NameFun()
{
goto KIB_74;
KIB_75: FindElement("css_selector", "Клик по элементу", "Текст", #Copy_E, 0, 100, 0, 5000, "button[class=^"btn lobby-item__button lobby-item__exit^"]", #K_E, #Session_E, #Element_E[0]);
text_static0[0]="не нажал 1."; pause(500);
KIB_74: FindElement("css_selector", "Клик по элементу", "Текст", #Copy_E, 0, 100, 0, 5000, "button[class=^"btn lobby-item__button lobby-item__exit^"]", #K_E, #Session_E, #Element_E[0]);
text_static0[0]="не нажал 2."; pause(500);
goto KIB_75;
KIB_Exit:;
} |
|
|
Kibor |
Отправлено: 04 Июня, 2021 - 22:57:50
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
на(для просмотра ссылки Вам необходимо авторизоваться) находит.
код страницы
CODE: <!DOCTYPE html>
<html>
<head>
<style>
.button {
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
.button1 {background-color: #4CAF50;} /* Green */
.button2 {background-color: #008CBA;} /* Blue */
</style>
</head>
<body>
<button class="button button1"><a href="https://kibor-bot.com">Green</a></button>
<button class="button button2">Blue</button>
<button class="btn lobby-item__button lobby-item__exit">Выйти</button>
</body>
</html>
код (Отобразить)CODE:int Import_StartBrowser = 0;
int Import_FindElement = 0;
int K_E;
string Session_E;
string Element_E[1000];
string Copy_E;
int eCol_Kib, eX_Kib, eY_Kib;
getdisplay(eCol_Kib, eX_Kib, eY_Kib);
RunPython(1, 1, 1, 10, 10, 700, 200);
StartBrowser(0, "C:\Program Files (x86)\Mozilla Firefox\Firefox.exe", pathfolder()+"python\webdriver\geckodriver.exe", "Активный режим", 1366, 768);
URL("https:/^/kibor-bot.com/1test.html", 10);
FindElement("css_selector", "Клик по элементу", "Текст", #Copy_E, 0, 0, 0, 0, "button[class=^"btn lobby-item__button lobby-item__exit^"]", #K_E, #Session_E, #Element_E[0]);
messagebox(K_E);
sendgetpython("web.quit()");
closepython();
function StartBrowser(int phantom, string path_browser, string path_driver, string mode, int ex, int ey)
{
if (Import_StartBrowser==0)
{
Import_StartBrowser=1;
__python_sync
#Импорт
import os
from selenium import webdriver
__end_python
}
regexreplace(-1, #path_browser, path_browser, "\\", "/");
regexreplace(-1, #path_driver, path_driver, "\\", "/");
sendgetpython("ex = r^'"+format(ex)+"^'");
sendgetpython("ey = r^'"+format(ey)+"^'");
if (phantom)
{
sendgetpython("binary = r^'"+pathfolder()+"phantomjs\bin\phantomjs.exe^'");
__python_sync
#Запускаем браузер
web = webdriver.PhantomJS(binary)
web.set_window_size(ex, ey)
__end_python
}
else
{
sendgetpython("exe_path = r^'"+path_driver+"^'");
string t;
if (regexsearch(1, #t, path_driver, "chromedriver.exe", IGNORECASE))
{
if (mode=="Фоновый режим")
{
__python_sync
from selenium.webdriver.chrome.options import Options
# указываем параметры браузера
chrome_options = Options()
chrome_options.add_argument("--headless")
os.environ["webdriver.chrome.driver"] = exe_path
#Запускаем браузер
web = webdriver.Chrome(exe_path, options=chrome_options)
web.set_window_size(ex, ey)
__end_python
}
else
{
__python_sync
os.environ["webdriver.chrome.driver"] = exe_path
#Запускаем браузер
web = webdriver.Chrome(exe_path)
web.set_window_size(ex, ey)
__end_python
}
}
if (regexsearch(1, #t, path_driver, "geckodriver.exe", IGNORECASE))
{
sendgetpython("binary = r^'"+path_browser+"^'");
if (mode=="Фоновый режим")
{
__python_sync
from selenium.webdriver.firefox.options import Options
# указываем параметры браузера
option = Options()
option.headless = True
#Запускаем браузер
web = webdriver.Firefox(options=option, executable_path = exe_path, firefox_binary = binary)
web.set_window_size(ex, ey)
__end_python
}
else
{
__python_sync
#Запускаем браузер
web = webdriver.Firefox(executable_path = exe_path, firefox_binary = binary)
web.set_window_size(ex, ey)
__end_python
}
}
}
}
function FindElement(string how, string d, string z, string #copy, int p1, int t, int p2, int p3, string find, int #Kol, string #Find_Session, string #Find_Element)
{
if (Import_FindElement==0)
{
Import_FindElement=1;
__python_sync
#Импорт
from selenium.webdriver.common.keys import Keys
__end_python
}
pause(p1);
string Rez="";
if (t==0)t=1;
looptime(t)
{
Kol=0;
if (how=="id")
{
sendgetpython("element=web.find_elements_by_id(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="name")
{
sendgetpython("element = web.find_elements_by_name(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="xpath")
{
sendgetpython("element = web.find_elements_by_xpath(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="link_text")
{
sendgetpython("element = web.find_elements_by_link_text(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="partial_link_text")
{
sendgetpython("element = web.find_elements_by_partial_link_text(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="tag_name")
{
sendgetpython("element = web.find_elements_by_tag_name(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="class_name")
{
sendgetpython("element = web.find_elements_by_class_name(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
if (how=="css_selector")
{
sendgetpython("element = web.find_elements_by_css_selector(^'"+find+"^')");
Kol=formatsn(sendgetpython("print(len(element))"));
}
sleep(5);
if (Kol>0) break;
}
if (Kol<1) return 0;
if (Kol>1000)Kol=1000;
for (int n=0; n<Kol; n++)
{
Rez=sendgetpython("print(element["+format(n)+"])");
if (n==0) regexsearch(1, #Find_Session, Rez, "(?<=session=^")(.*?)(?=^")");
regexsearch(1, #Find_Element[n], Rez, "(?<=element=^")(.*?)(?=^")");
}
if (d=="Клик по элементу")sendgetpython("element[0].click()");
if (d=="Считать с элемента")copy=sendgetpython("element[0].text");
if (d=="Записать в элемент")sendgetpython("element[0].send_keys(^""+z+"^")");
if (d=="Записать в элемент и нажать ENTER")
{
sendgetpython("element[0].send_keys(^""+z+"^")");
sendgetpython("element[0].send_keys(Keys.ENTER)");
}
string ts[2];
if (regexsearch(2, #ts[0], copy, "^'")==2) regexreplace(-1, #copy, copy, "^.|.$", "");
pause(p2);
return Kol;
}
function RunPython(int RunP, int Consol, int Con_W, int Cx1, int Cy1, int Cex, int Cey)
{
if (Consol)enableconsolepython(Con_W, 1, Cx1, Cy1, Cex, Cey);
runpython(RunP);
return RunP;
}
function URL(string Url, int Time)
{
sendgetpython("Url = r^'"+Url+"^'");
sendgetpython("Time = r^'"+format(Time)+"^'");
__python_sync
#Максимальное время на загрузку страницы
web.set_page_load_timeout(Time)
#Переходим по URL
try:
web.get(Url)
except TimeoutException as e:
__end_python
sendpython(" print(^'0^')^n^nprint(^'1^')^n");
string Rez="ERROR_READ_PYTHON";
while (Rez=="ERROR_READ_PYTHON")
{
Rez=getpython();
sleep(10);
}
if (Rez=="1") return 1;
else return 0;
}
|
|
|
Kibor |
Отправлено: 05 Июня, 2021 - 11:20:28
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
konctantin777 пишет: Может сделать проверку ?
Выдача ошибки и есть проверка.
(Добавление)
konctantin777 пишет: видно плохо
Плохо.
Обновил. Шрифт увеличил в edit и combo
теперь видно нормально. |
|
|
|