В настоящее время я работаю над проектом, в котором мне нужно, чтобы Selenium обновил две вкладки в одно и то же время, и я не хочу ждать загрузки сайта.Я попробовал каждый метод, описанный в нескольких постах, но все еще не понял его правильно.Приведенный ниже фрагмент кода ни к чему не приводит, и другие методы, такие как метод browser.refresh (), выглядят синхронными.браузер.Execute_Script ("location.reload ();") также, похоже, довольно ошибочно работает синхронно или нет.Цель состоит в том, чтобы перезагрузить несколько вкладок, а затем выяснить, присутствует ли кнопка или нет, если она будет нажата.
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import datetime
browser.get('https://google.com')
time.sleep(10)
browser.find_element_by_css_selector("body").send_keys(Keys.F5)
Я также подумал об использовании чего-то подобного, непосредственно выполняемого вбраузер.Но это кажется невозможным, не так ли?
function ready(callback){
// in case the document is already rendered
if (document.readyState!='loading') callback();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', callback);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') callback();
});
}
ready(function(){
console.log("DOM fully loaded and parsed");
var result = document.evaluate("//*[text()='5544']/../../td[@class='action']/form/input[@type='submit' and not(@disabled)]", document, null, XPathResult.ANY_TYPE, null);
result.click();
});
ОБНОВЛЕНИЕ: Я понял, что:
browser.get('https://google.com')
time.sleep(5)
username = browser.find_element_by_xpath("//input[@type='text']")
username.click()
username.clear()
username.send_keys(Keys.Enter)
работает просто отлично.Но Keys.F5 не обновляет страницу ... это похоже на ошибку?Основная часть моего вопроса заключается в том, что я хочу знать обходной путь для этой операции send_keys
F5 (асинхронный).