from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
import time
def main():
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://site.ru/")
btn_elem1 = driver.find_element_by_xpath("/html/body/div[2]/div[3]/div[2]/div[1]/div/ul/li[2]")
btn_elem1.click()
btn_elem2 = driver.find_element_by_xpath("/html/body/div[2]/div[3]/div[2]/div[1]/div/div[2]/div/p[1]/label/input")
btn_elem2.click()
btn_elem2.send_keys("login")
btn_elem3 = driver.find_element_by_xpath("/html/body/div[2]/div[3]/div[2]/div[1]/div/div[2]/div/p[2]/label/input")
btn_elem3.click()
btn_elem3.send_keys("pass")
btn_elem4 = driver.find_element_by_xpath("/html/body/div[2]/div[3]/div[2]/div[1]/div/div[2]/div/a")
btn_elem4.click()
time.sleep(1)
driver.get("https://site/1")
btn_elem5 = driver.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/fieldset/div[2]/img[1]")
btn_elem5.click()
action = ActionChains(driver)
action.key_down(Keys.CONTROL).send_keys("f").key_up(Keys.CONTROL).perform()
time.sleep(5)
if __name__ == "__main__":
main()
Все работает до определенной степени.
Браузер открывается, раскрывается. Перехожу на нужный сайт. I go во вкладку Login вводим логин и пароль. Я перехожу на другую страницу, к которой у меня нет доступа, если я не авторизован. Я открываю там спойлер со скрытым текстом.
После чего я хочу вызвать «Найти» через Ctrl + F, но почему-то не работает, ничего не происходит. И вообще, как я понял, сами клавиши не работают. Как будто их не добавляли, хотя вроде бы написано в начале кода.
А если нужный текст найден, то сделайте скриншот и go на https: // site / 2 , если нет, то сразу go на сайт / 2 и ищи там. Всего там около десяти тысяч страниц, наверное адрес села надо как-то через переменную сделать? И что-то вроде через ++ как это сделать в PHP, вроде плюс один, чтобы он каждый раз добавлялся?
А может как-то иначе можно сделать? Ищите простой текст по всей странице. А если есть, то скриншот и переход дальше, если нет, то сразу идем дальше. (Звездочка вызывает скриншот)
sila = driver.find_element_by_xpath("/html")
if 'Селява' in sila.text:
action.send_keys("*")
action.key_down(Keys.CONTROL).send_keys("s").key_up(Keys.CONTROL).perform()
driver.get("https://site/+1id") (вот как это сделать?)
else:
driver.get("https://site/+1id") (вот как это сделать?)
В общем остаются две проблемы. Вот как найти текст и как сделать его go на следующую страницу идентификатора. Буду очень признателен за любую помощь.