wait.Until(x => {
var size =
x.FindElement(By.CssSelector(selector)).GetAttribute("value").Length;
if (size >= 5) {
return true;
} else {
Console.Error.Write("waiting for specific text length");
return false;
}
});
homedir = getenv('HOME')
options.add_argument('--user-data-dir="{}"'.format(homedir))
options.add_argument('--remote-debugging-port=9222')
HOME
, подправьте screenshot_as_png
writer = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
writer.writerow([name_of_restauran.texе])
delimiter
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36")
text = 'Continue to Discord'
text = 'Принять приглашение'
driver.find_element_by_xpath('//button/div[contains(text(), "{}")]'.format(text))
{"method":"xpath","selector":"//button/div[contains(text(), "Принять приглашение")]"}
from cyrtranslit import to_latin
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import WebDriver
def waittest:
def __init__(self, selector, value):
self.selector = selector
self.value = value
def __call__(self, driver):
element = driver.find_element_by_css_selector(self.selector)
text = element.text
print('checking text: "{}" against "{}"'.format(to_latin(text, 'ru'), self.value))
if to_latin(text, 'ru') == self.value:
return element
else:
return None
text = to_latin('Принять приглашение', 'ru')
element = WebDriverWait(driver, 10).until( waittest("button[class *= 'button']", text))
element = driver.execute_script("return document.querySelector('form table tr:first-child td:nth-child(2) b')")
value = element.text
url = 'https://www.youtube.com/'
title = 'YouTube'
driver = webdriver.Chrome()
driver.get(url)
try:
# https://selenium-python.readthedocs.io/waits.html
WebDriverWait(driver,10).until(EC.title_contains(title))
except (NoAlertPresentException, TimeoutException) as e:
print('page was not shown: {0}'.format(e))
finally:
driver.quit()
disired_capabilities = DesiredCapabilities.CHROME
disired_capabilities['loggingPrefs'] = {
'browser':'ALL'
}
driver = webdriver.Chrome(executable_path = chromedriver_path, desired_capabilities = disired_capabilities)
[
'//a[contains(@href,"{}")]'.format(url_fragment.lower()),
'//a[contains(translate(@href, "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"), "{}")]'.format(url_fragment.upper())
]
length = len(xpaths)
for cnt in range(length):
xpath = xpaths[cnt]
print('# try {}'.format(cnt))
element = None
try:
element = driver.find_element_by_xpath(xpath)
except InvalidSelectorException, e:
print('Exception (ignored): {}'.format(e))
pass
except NoSuchElementException, e:
print('Exception (ignored): {0}'.format(e))
pass
if element != None:
print('Found via {}'.format(xpath))
print(element.get_attribute('outerHTML'))
else:
print('Failed via {}'.format(xpath))
POST
tohttp://127.0.0.1:55105/session/4efe9b351b24b0869d34bf24ca45af0e/chromium/send_command_and_get_result
params: {"cmd": "Page.captureScreenshot", "params": {"clip": {"x": 32, "y": 469, "width": 235, "height": 76, "scale": 1}}}
...
return base64.b64decode(response['value']['data'])
viewport
будет свой) script = "return window.getComputedStyle(arguments[0],':after')";
display.stop()
browser.close()
browser.quit()