+ 48 602 120 990 biuro@modus.org.pl

This use case is discussed in the doc, last paragraph: https://playwright.dev/docs/input#upload-files. If pageFunction returns a Promise, then elementHandle.$$eval() would wait for the promise to resolve and return its value. The text was updated successfully, but these errors were encountered: I have a similar issue, but with selectOption, the element is visible and Playwright can't interact with it. @yury-s since it has been merged, will it be included in 1.10.1 or 1.11.0? @thernstig I will close this one since we cannot reproduce. Since eventInit is event-specific, please refer to the events documentation for the lists of initial properties: You can also specify JSHandle as the property value if you want live objects to be passed into the event: DOM event type: "click", "dragstart", etc. However, this feels too dependant on the number of bins chosen N. Below is a plot of the data I'm working with. String values are matching both values and labels. the y coordinate of the element in pixels. Based on that it should normally be released in 1.11.0 Will this work for you? This is confusing, because the logs say that the element is visible when I set the force option to true. Inputs may have a placeholder attribute to hint to the user what value should be entered. // -> the selectBorder fn calls selectTable, '[data-unique-id="Ribbon-BorderGallery"]'. This is useful for writing large selectors in a more compact form. If the element does not satisfy the condition for the timeout milliseconds, this method will throw. // Use the selector prefixed with its name. setting a huge viewport height to make sure it's not a lazy loading issue. It requires bumping browser revision and so far we've been following the policy of updating browser version only during minor releases (not patch releases). ], Operating System: [e.g. Instead, follow best practices above to create a locator that uniquely identifies the target element. When set to "disabled", stops CSS animations, CSS transitions and Web Animations. Find an element by the text it contains. The method finds an element matching the specified selector in the ElementHandles subtree and passes it as a first argument to pageFunction. Locate an item by it's test id of "orange" and then click it. But in the comment above you linked to http://crbug.com/1188919 and that seems to have no relation to the PR and chromium bug above. Note no await. @mamacdon it looks like a chromium-specific bug in Playwright, I managed to reproduce it. Playwright supports a shorthand for selecting elements using certain attributes. That would be much better than me pasting pictures. If the element is detached from DOM, the method throws an error. The bounding box is calculated relative to the main frame viewport - which is usually the same as the browser window. Selector starting with // or .. is assumed to be an xpath selector. In react selectors, component names are transcribed with CamelCase. Regardless of the visibility state of the element, click is dispatched. By default, chained selectors resolve to an element queried by the last selector. And why would this error: frame.click: Element is not visible appear if the logs say the element is in fact visible? Note that you can pass an empty string to clear the input field. state "visible"|"hidden"|"stable"|"enabled"|"disabled"|"editable"#. Script that evaluates to a selector engine instance. playwright selector resolved to hidden. Usually I see retries in the inspector (or when using DEBUG=pw:api) but not this time. We recommend prioritizing role locators to locate elements, as it is the closest way to how users and assistive technology perceive the page. This example is equivalent to text="Home" (note quotes), but inside the #nav-bar element. Already on GitHub? const base = this.within(header).getByText("LINEHOLDER") Context: Playwright Version: ^1.16.3 Operating System: Windows Node.js version: 14.17. The text was updated successfully, but these errors were encountered: It looks like you're attempting to click on the SVG element, which is not a visible element. This is equivalent to calling element.click(). Following modification shortcuts are also supported: Shift, Control, Alt, Meta, ShiftLeft. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. It has problem with the web component <xxx-base-v0-loader> being hidden (through the "advanced" CSS above), but the ID of the element waiting to be hidden is a child element. Playwright comes with multiple built-in locators. /Log\s*in/i - body can be a JavaScript-like regex wrapped in / symbols. force boolean (optional) Added in: v1.13#. I am trying to click a button by using force : true to bypass the visibility check (because I don't understand why the button is hidden during this test - it can be seen by the user when run headful). This screenshot is the state where applyTableStyles gets stuck: Could you share why the logs in my first post say that the element is visible but the error itself says otherwise? So, in my case, where I'd like to get h2 that is a child of this particular li, I can do so with 'li:not(.ui-screen-hidden) >> h2' Closed by #5950 and #5963. Empty array clears the selected files. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. I am struggling to reproduce this one - perhaps need more details. You can select input files for upload using the locator.setInputFiles() method. wait for element with given selector to be in DOM; wait for it to become displayed, i.e. Sign in http://crbug.com/1188919 points to a difference in the implementation of elementFromPoint which we use in our code. Time to wait between mousedown and mouseup in milliseconds. This post was featured in Software Testing Weekly #110 and Coding JAG #76. Vue selectors are experimental and prefixed with _. in numpy you might implement it as np.count_nonzero (np.histogram (data, range= (0,1), bins=N) [0])/N ). You can match by a substring, exact string, or a regular expression when using page.getByText(). You can locate each element by it's implicit role: Role locators include buttons, checkboxes, headings, links, lists, tables, and many more and follow W3C specifications for ARIA role, ARIA attributes and accessible name. In your html you can now use data-pw as your test id instead of the default data-testid. In this case, prefer using text or css selectors over the :nth-match(). This environment has access to the same DOM, but not any JavaScript objects from the frame's scripts. Returns the buffer with the captured screenshot. Can state or city police officers enforce the FCC regulations? Examples of the keys are: F1 - F12, Digit0- Digit9, KeyA- KeyZ, Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape, ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight, ArrowUp, etc. not empty, no display:none, no visibility:hidden; wait for it to stop moving, for example, until css transition finishes . If the element already has the right checked state, this method returns immediately. // Can use it in any methods supporting selectors. Playwright supports CSS and XPath selectors, and auto-detects them if you omit css= or xpath= prefix. Set the test id to use a custom data attribute for your tests. // Returns the first element matching given selector in the root's subtree. https://testing-library.com/docs/guiding-principles, https://testing-library.com/docs/dom-testing-library/faq, https://testing-library.com/docs/dom-testing-library/api-accessibility, https://playwright.dev/docs/debug#playwright-inspector, https://playwright.dev/docs/debug#actionability-logs, [chromium] tests/web/vacation.bidaward.defaults.spec.po.new.js:14:9 Bid and award Default page verification Default page verification. Multiple options can be selected. And could we expect a new Playwright version soon with these fixes? The snippet below dispatches the click event on the element. Installing a new lighting circuit with the switch in a weird place-- is it correct? By clicking Sign up for GitHub, you agree to our terms of service and Multiple files can be passed in the array. Following modification shortcuts are also supported: Move mouse to the element that will receive the drop. Ensure that element is a checkbox or a radio input. Successfully merging a pull request may close this issue. Recently we have received many complaints from users about site-wide blocking of their own and blocking of their own activities please go to the settings off state, please visit These selectors can break when the DOM structure changes. Can I (an EU citizen) live in the US if I marry a US citizen? Asking since our tests are pretty much useless now. console.log("base value" + base); This method taps the element by performing the following steps: elementHandle.tap() requires that the hasTouch option of the browser context be set to true. We should be able to merge the fix after rolling next Chromium Dev release which includes merged patch (see https://omahaproxy.appspot.com/ for the current Dev revision). infinite animations are canceled to initial state, and then played over after the screenshot. However, if the element is inside the <label> element that has an associated control, the control will be used instead. Explanation: When you declare a function as async, it will return a promise. Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide. Well occasionally send you account related emails. Returns whether the element is disabled, the opposite of enabled. If a selector needs to include >> in the body, it should be escaped inside a string to not be confused with chaining separator, e.g. In that instance should it not wait for hidden as an attribute and not hidden=""? It works fine on 1.8.1 but fails on 1.9.1/1.9.2. In the snippet above, all three buttons match :text("Buy") selector, and :nth-match() selects the third button. The functionality might change in future. The :has() pseudo-class is an experimental CSS pseudo-class. You can locate an image based on the text alternative using page.getByAltText(). const header = await this.screen.findByTestId('erow-GroupCode-0'); For example, a different element could be matched when layout changes by one pixel. Have a question about this project? You can file an issue for that . This method will: If you want precise control over the drag operation, use lower-level methods like locator.hover(), mouse.down(), mouse.move() and mouse.up(). The choice of selectors determines the resiliency of automation scripts. @Diokuz That's indeed a known issue. console.log("text assertion successful") Proprietary project, but I got a nice picture. Query + click <title /> within <svg />: playwright-testing-library/test/fixtures/page.html. await check.click(); ---> fails, headerLocator@query-by-test-id=["erow-GroupCode-0"] Photo by Patrick Tomasso on Unsplash. The inspector gets stuck at the above, never re-trying for it to be hidden. Playwright can select elements based on the page layout. If at the moment of calling the method selector already satisfies the condition, the method will return immediately. You can specify option value, or label to select. If you prefer your selectors to be CSS and don't want to rely on chaining selectors, use :visible pseudo class like so: input:visible. Locate an element with a matching title attribute using page.getByTitle(). Use the page.getByTestId() method to locate an element in a list. It does not search inside closed shadow roots or iframes. Defaults to false. If the role or text value is important to you then consider using user facing locators such as role and text locators. When specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed. console.log(" header" + header) Browser: [e.g. It describes how to find an element on the page. There are many ways to get a specific item in a list. Spent hours trying several different things, but without luck. Our css and text engines pierce the Shadow DOM by default: In particular, in css engine, any Descendant combinator or Child combinator pierces an arbitrary number of open shadow roots, including the implicit descendant combinator at the start of the selector. If some of the filePaths are relative paths, then they are resolved relative to the current working directory. If no elements match the selector, returns empty array. In a nutshell, locators represent a way to find element(s) on the page at any moment. If the selector doesn't satisfy the condition for the timeout milliseconds, the function will throw. Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Nice one! See extensibility for more information. Passing zero timeout disables this. It is usually possible to distinguish elements by some attribute or text content. Maximum time in milliseconds, defaults to 30 seconds, pass 0 to disable timeout. Selectors can be used to install custom selector engines. Playwright supports CSS and XPath selectors, and auto-detects them if you omit css= or xpath= prefix. key can specify the intended keyboardEvent.key value or a single character to generate the text for. Connect and share knowledge within a single location that is structured and easy to search. You can chain methods that create a locator, like page.getByText() or locator.getByRole(), to narrow down the search to a particular part of the page. locator = Playwright.Locator.new(page, "a#exists") :ok = Playwright.Locator.hover(locator) :ok = Playwright.Locator.click(locator) {name: 'foo'} enables foo=myselectorbody selectors. Locators are the central piece of Playwright's auto-waiting and retry-ability. findByText still fails after adding await. It matches the smallest element containing specified text. Text selector locates elements that contain passed text. And why was this different in 1.8.1? The file path to save the image to. You can explicitly opt-out from strictness check by telling Playwright which element to use when multiple elements match, through locator.first(), locator.last(), and locator.nth(). Locate by CSS or XPath. text="some >> text". . If you'll get any luck with providing a repro, please ping me and I'll reopen and investigate. Note that I tried this as well and it also failed in the exact same manner: Is this due to that Playwright has problem with this CSS shown above with :host([hidden])? Was this translation helpful? console.log(" value " + check) However, if the element is inside the <label> element that has an associated control, the control will be filled instead. By Diogo Nunes. position Object (optional) Added in: v1.11#. If the <select> has the multiple attribute, all matching options are selected, otherwise only the first option matching one of the passed options is selected. Could you send the commit/PR where this behavior changed? '.item-description:has(.item-promo-banner)', // Wrong, will match many elements including <body>, // Correct, only matches the <article> element. If not, this method throws. I am awaiting release 1.11 to make sure all recent bugs are in before testing this again. const check = this.within(header).getByText("check") playwright selector resolved to hidden Returns whether the element is hidden, the opposite of visible. Ensure that the element is now checked or unchecked. Optional. React selectors allow selecting elements by its component name and property values. The method finds all elements matching the specified selector in the ElementHandle's subtree and passes an array of matched elements as a first argument to pageFunction. Name of the key to press or a character to generate, such as ArrowLeft or a. @yury-s that's the thing: it passes normally in 1.8.1, the page wasn't changed too. For example, "Log in" is converted to text="Log in" internally. base valueLocator@query-by-test-id=["erow-GroupCode-0"] >> get-by-text=["LINEHOLDER"] Defaults to 0. Layout selectors depend on the page layout and may produce unexpected results. If you'd like to opt-out of this behavior, you can use :light CSS extension or text:light selector engine. Sign in values null|string|ElementHandle|Array<string>|Object|Array<ElementHandle>|Array<Object>#. Find centralized, trusted content and collaborate around the technologies you use most. You signed in with another tab or window. Returns the array of option values that have been successfully selected. You may need to modify the html and add a test id if you don't already have a test id. We will visit this link for the demo and perform a click action on the given buttons and links. The method finds all elements matching the specified selector in the ElementHandles subtree. When you have elements with various similarities, you can use the locator.filter() method to select the right one. By clicking Sign up for GitHub, you agree to our terms of service and Sign in When set to "hide", screenshot will hide text caret. You can always ignore this by saying await locator.dispatchEvent('click'), but I would explore what's happening with the page and why the element that you can see is considered invisible. You can continue the conversation there. Returns whether the element is checked. So a discrete version would be to split the data into N bins and normalise the non-zero count (i.e. Is it feasible to travel to Stuttgart via Zurich? console.log(" value " + check) I found a workaround for that (#5850) so it should not block us. If key is a single character, it is case-sensitive, so the values a and A will generate different respective texts. You can even specify the optional delay between the key presses to simulate real user behavior. Have a question about this project? It is a function that takes a selector list as its argument, and selects any element that can be selected by one of the selectors in that list. This behavior is indistinguishable from a bug where element gets covered and the click is dispatched elsewhere. Useful to wait until the element is ready for the action without performing it. These methods are not recommended because when your page changes, Playwright may click on an element you did not intend. To press a special key, like Control or ArrowDown, use elementHandle.press(). Playwright is a library, developed by Microsoft, for writing end-to-end tests for interactive web applications. When using locator.dispatchEvent('click') I still don't see the button being clicked, though the error now complains about not finding the next selector (which makes sense, as the next click action is performed on something from the dropdown). Not the answer you're looking for? Scrolling affects the returned bounding box, similarly to Element.getBoundingClientRect. Demo Link. How can I click on all links matching a selector with Playwright? Returns the return value of pageFunction. Locate an item by it's text content and click it. You can also pass a regular expression. Windows, Linux or Mac], Browser: [e.g. 7 February, 2022. When set to "css", screenshot will have a single pixel per each css pixel on the page. You signed in with another tab or window. Attribute selectors pierce shadow DOM. You can click on the image after locating it by the text alternative: Use this locator when your element supports alt text such as img and area elements. Whether to run this selector engine in isolated JavaScript environment. This method does not work across navigations, use page.waitForSelector() instead. There are many ways to make element not really visible, and we won't be able to account for all of them. It finishes just fine, and I see selector resolved to hidden <div>Find me</div>. Playwright augments standard CSS selectors in two ways: There are two ways of selecting only visible elements with Playwright: If you prefer your selectors to be CSS and don't want to rely on chaining selectors, use :visible pseudo class like so: input:visible. You can perform drag&drop operation with locator.dragTo(). If there are common cases that we can easily account for, we'll consider changing the definition slightly. May only contain [a-zA-Z0-9_] characters. Returns when the element satisfies the state. You can then pass this array to Promise.all for simultaneous processing. In this case, you can locate the control by its associated label using page.getByLabel(). Use the page.getByText() method to locate an element in a list by it's text content and then click on it. Under the hood, it creates an instance of an event based on the given type, initializes it with eventInit properties and dispatches it on the element. text assertion successful. I'm trying to make Playwright click the "Sign up" link. Clauses are selectors that are separated by >>, where each clause is a selector that is relative to the one before it. Hey @yury-s, you can reproduce with this script below. Beta When locating by role, you should usually pass the accessible name as well, so that the locator pinpoints the exact element. state "attached"|"detached"|"visible"|"hidden" (optional)#, strict boolean (optional) Added in: v1.15#. finite animations are fast-forwarded to completion, so they'll fire. Well occasionally send you account related emails. @stefanteixeira do you have a test script to reproduce you case? Use the code generator to generate a locator, and then edit it as you'd like. options Object (optional) contentScript boolean (optional)# Whether to run this selector engine in isolated JavaScript environment. For example, text=Log in matches <input type=button value="Log in">. This means that all operations on locators that imply some target DOM element will throw an exception if more than one element matches. ElementHandle instances can be used as an argument in page.$eval() and page.evaluate() methods. We can also assert the product card to make sure there is only one. Following snippet returns text content of an <article> element that has a <div class=promo> inside. Have a question about this project? This method checks or unchecks an element by performing the following steps: Whether to check or uncheck the checkbox. And that PR points to https://chromium-review.googlesource.com/c/chromium/src/+/2766028 which has been merged. css=[data-test="login"]:enabled. Write a Program Detab That Replaces Tabs in the Input with the Proper Number of Blanks to Space to the Next Tab Stop, Counting degrees of freedom in Lie algebra structure constants (aka why are there any nontrivial Lie algebras of dim >5?). When user-facing attributes change frequently, it is recommended to use explicit test ids, like data-test-id. You can fill the input after locating it by the label text: Use this locator when locating form fields. Empty array clears the selected . It expects first argument to point to an input element with the type "file". Give feedback. Locate the element by its role of button with name "Sign in". I tried using a few alternative selectors (a#go-to-sign-up, ws-a >> a, etc) but they fail in the same fashion. If given selector resolves to more than one element, the call throws an exception. You need to change the display property of the element using the evaluate method. using click instead of selectOption. /** @type {import('@playwright/test').PlaywrightTestConfig} */, '#tsf > div:nth-child(2) > div.A8SBwf > div.RNNXgb > div > div.a4bIc > input', '//*[@id="tsf"]/div[2]/div[1]/div[1]/div/div[2]/input', buttons, checkboxes, headings, links, lists, tables, and many more. It's usually better to follow the best practices and find a more reliable way to uniquely identify the element. Already on GitHub? Note: I want to actually copy the entire as seen in the picture above with all its elements and children (including shadow-root) in the picture above but have not found an easy way. This method waits for actionability checks, focuses the element, fills it and triggers an input event after filling. // Register the engine. If you absolutely must use CSS or XPath locators, you can use page.locator () to create a locator that takes a selector describing how to find an element in the page. @dgozman thanks for trying to replicate, at least it yielded a test case so far :), Maybe this might be related to #5858. strict boolean (optional) Added in: v1.15# When true, the call requires selector to resolve to a single element. The CSS of the custom element has this when this happens: I checked with the Inspector and saw this. These are the recommended built in locators. const check = this.within(header).getByRole("checkbox"); The <svg /> element is visible, but <title /> is an inherently invisible element (visible only to screen readers: Query + click SVG using <title /> as accessible name: If you really want to click the <svg />, this is probably what you want, but since it's a stylized checkbox I think you really do want to query the checkbox itself as I recommended, playwright-testing-library/test/fixture/locators.test.ts. Once you're reviewed that, if you're still having this kind of problem, it's really an issue with how you're using Playwright, and it has nothing to do with Playwright Testing Library. For example, consider the following DOM structure. Assuming the page is static, it is safe to use bounding box coordinates to perform input. Note that the inner locator is matched starting from the outer one, not from the document root. For example, the following snippet should click the center of the element. To reliably issue the second mouse move, repeat your mouse.move() or locator.hover() twice. If not, this method throws. This method will emit all the necessary keyboard events, with all the keydown, keyup, keypress events in place. Note that all methods that create a locator, such as page.getByLabel(), are also available on the Locator and FrameLocator classes, so you can chain them and iteratively narrow down your locator. This character is case-sensitive, so "a" and "A" will produce different results. Browser: Chromium, Firefox Code Snippet //element not visible with standard click (though a user can see it on the page) await frame.locator('[data-u. await page.locator('css=button').click(); Holding down Shift will type the text that corresponds to the key in the upper case. This method can be used with input[type=checkbox], input[type=radio] and [role=checkbox] elements. We get to that point in process either if the element passed these actionability checks, or if the action was forced. value Locator@query-by-test-id=["erow-GroupCode-0"] >> get-by-text=["check"] Every time a locator is used for an action, an up-to-date DOM element is located in the page. This method returns the bounding box of the element, or null if the element is not visible. 2021. This method throws when the element is detached while waiting, unless waiting for the "hidden" state. Using pseudo-classes with Text Selector (Coming Soon) Video Tutorial; 1. In the example below, handle points to a particular DOM element on page. For empty array, clears the selected files. You can locate the element by the text it contains: Matching by text always normalizes whitespace, even with exact match. Well occasionally send you account related emails. When all steps combined have not finished during the specified timeout, this method throws a TimeoutError. Connect and share knowledge within a single location that is structured and easy to search. Go to discussion . When specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed. Using "device" option will produce a single pixel per each device pixel, so screenshots of high-dpi devices will be twice as large or even larger. Using locator.fill() is the easiest way to fill out the form fields. So there is no way you can click it, it is not there in the screen. to your account, while trying to click the checkbox using the following test, it fails with the following error: selector resolved to hidden <title>check, async checkActiveStatusdom(text) { This method double clicks the element by performing the following steps: elementHandle.dblclick() dispatches two click events and a single dblclick event. If not, this method throws. The difference between the Locator and ElementHandle is that the latter points to a particular element, while Locator captures the logic of how to retrieve that element.. It might be that the page has changed and the element used to be visible before. playwright selector resolved to hidden Looking at the screenshot, my guess is that the radio button circle is hidden with css and playwright is waiting for the circle to be visible. Defaults to false. Making statements based on opinion; back them up with references or personal experience. Replace your selector with [data-unique-id="Ribbon-TableStyles-ghostFlyout"] and it should work. Although the link is visible (and can be clicked if you visit the app), Playwright thinks that it's not. Christian Science Monitor: a socially acceptable source among conservative Christians? Not applicable to jpeg images. SyntaxError: Cannot use import statement outside a module. @yury-s would there be a chance you could assist with this? I suggest you try to debug your tests using Playwright's robust debugging capabilities before opening an issue here: SVG element - checkbox is visible on the webpage, and it works fine with regular playwright code, can you please clarify what you mean by saying that it is not a visible element while using, const check = this.within(header).getByText("check") </p> <p><a href="https://www.modus.org.pl/nebraska-labrador/astd-challenge-3-rewards">Astd Challenge 3 Rewards</a>, <a href="https://www.modus.org.pl/nebraska-labrador/gt-independence-payroll-schedule-2022">Gt Independence Payroll Schedule 2022</a>, <a href="https://www.modus.org.pl/nebraska-labrador/how-to-cite-to-the-federal-register-bluebook">How To Cite To The Federal Register Bluebook</a>, <a href="https://www.modus.org.pl/nebraska-labrador/cpt-code-for-scapholunate-ligament-repair">Cpt Code For Scapholunate Ligament Repair</a>, <a href="https://www.modus.org.pl/nebraska-labrador//sitemap_p.html">Articles P</a><br> </p> </div> <!-- .entry-content --> <div class="et_post_meta_wrapper"> <!-- You can start editing here. --> <section id="comment-wrap"> <div id="comment-section" class="nocomments"> <!-- If comments are open, but there are no comments. --> </div> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title"><span>Prześlij komentarz</span> <small><a rel="nofollow" id="cancel-comment-reply-link" href="/2tt4hzgx/?ertthndxbcvs=yes#respond" style="display:none;">Anuluj pisanie odpowiedzi</a></small></h3><form action="http://modus.org.pl/wp-comments-post.php" method="post" id="commentform" class="comment-form"><p class="comment-notes"><span id="email-notes">Twój adres e-mail nie zostanie opublikowany.</span> Wymagane pola są oznaczone <span class="required">*</span></p><p class="comment-form-comment"><label for="comment">Komentarz</label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required="required"></textarea></p><p class="comment-form-author"><label for="author">Nazwa <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" required='required' /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="text" value="" size="30" maxlength="100" aria-describedby="email-notes" required='required' /></p> <p class="comment-form-url"><label for="url">Witryna internetowa</label> <input id="url" name="url" type="text" value="" size="30" maxlength="200" /></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit et_pb_button" value="Prześlij komentarz" /> <input type='hidden' name='comment_post_ID' value='236' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </section> </div> <!-- .et_post_meta_wrapper --> </article> <!-- .et_pb_post --> </div> <!-- #left-area --> <div id="sidebar"> <div id="search-2" class="et_pb_widget widget_search"><form role="search" method="get" id="searchform" class="searchform" action="http://modus.org.pl/"> <div> <label class="screen-reader-text" for="s">Szukaj:</label> <input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Szukaj" /> </div> </form></div> <!-- end .et_pb_widget --> <div id="recent-posts-2" class="et_pb_widget widget_recent_entries"> <h4 class="widgettitle">Ostatnie wpisy</h4> <ul> <li> <a href="http://modus.org.pl/2tt4hzgx/" aria-current="page">playwright selector resolved to hidden</a> </li> </ul> </div> <!-- end .et_pb_widget --><div id="recent-comments-2" class="et_pb_widget widget_recent_comments"><h4 class="widgettitle">Najnowsze komentarze</h4><ul id="recentcomments"></ul></div> <!-- end .et_pb_widget --><div id="archives-2" class="et_pb_widget widget_archive"><h4 class="widgettitle">Archiwa</h4> <ul> <li><a href='http://modus.org.pl/2023/02/'>luty 2023</a></li> </ul> </div> <!-- end .et_pb_widget --><div id="categories-2" class="et_pb_widget widget_categories"><h4 class="widgettitle">Kategorie</h4> <ul> <li class="cat-item cat-item-1"><a href="http://modus.org.pl/category/bez-kategorii/">Bez kategorii</a> </li> </ul> </div> <!-- end .et_pb_widget --><div id="meta-2" class="et_pb_widget widget_meta"><h4 class="widgettitle">Meta</h4> <ul> <li><a href="http://modus.org.pl/wp-login.php">Zaloguj się</a></li> <li><a href="http://modus.org.pl/feed/">Kanał wpisów</a></li> <li><a href="http://modus.org.pl/comments/feed/">Kanał komentarzy</a></li> <li><a href="https://pl..org/">.org</a></li> </ul> </div> <!-- end .et_pb_widget --> </div> <!-- end #sidebar --> </div> <!-- #content-area --> </div> <!-- .container --> </div> <!-- #main-content --> <footer id="main-footer"> <div id="footer-bottom"> <div class="container clearfix"> <div id="footer-info">MODUS Wszelkie Prawa Zastrzeżone Copyright 2019 | by <a href="https://www.martondesign.pl/">Marton Design </a></div> </div> <!-- .container --> </div> </footer> <!-- #main-footer --> </div> <!-- #et-main-area --> </div> <!-- #page-container --> <script type='text/javascript'> var BingMapsKey = 'AqbN9gqdIiiXrtCYyJMc0awj0f9-ZTzkR05-q6OPJH4Hsqi2o0Mz8d1_e9jZZ6Yq'; // var address = ''; // var geocodeRequest = "https://dev.virtualearth.net/REST/v1/Locations?query=" + encodeURIComponent(address) + "&jsonp=GeocodeCallback&key=" + BingMapsKey; var mapRequest = "https://www.bing.com/api/maps/mapcontrol?key="+ BingMapsKey + "&callback=loadMapScenario"; var $bing_map = document.getElementById('myMap'); //check if bing map is loaded in this page if( $bing_map !== null ){ //get the address coordinates CallRestService( mapRequest, loadMapScenario ); console.log('active'); } function CallRestService(request) { var script = document.createElement("script"); script.setAttribute("type", "text/javascript"); script.setAttribute("src", request); document.body.appendChild(script); } var infobox; function loadMapScenario() { //map types available: aerial, canvasDark, canvasLight, birdseye, street, grayscale var maps = document.querySelectorAll('#myMap'); var address_latitude; var address_longitude; address_latitude = "50.04219"; address_longitude ="20.05028"; console.log( address_latitude ); console.log( address_longitude ); for( var i = 0; i < maps.length; i++ ){ var map = new Microsoft.Maps.Map( maps[i], { center: new Microsoft.Maps.Location( address_latitude, address_longitude), mapTypeId: Microsoft.Maps.MapTypeId.default, disableScrollWheelZoom: false, zoom: 13, }); var center = map.getCenter(); infobox = new Microsoft.Maps.Infobox( map.getCenter(), { visible: false }); infobox.setMap( map ); //add metadata for pin( title, and description) var customPin = new Microsoft.Maps.Pushpin(new Microsoft.Maps.Location("50.04219", "20.05028"),{ icon: "http://modus.org.pl/wp-content/plugins/api-bing-map-2018/admin/images/icons/black.png", }); Microsoft.Maps.Events.addHandler( customPin, 'click', pushpinClicked ); map.entities.push( customPin ); } } function pushpinClicked(e) { //Make sure the infobox has metadata to display. if (e.target.metadata) { //Set the infobox options with the metadata of the pushpin. infobox.setOptions({ location: e.target.getLocation(), title: e.target.metadata.title, description: e.target.metadata.description, visible: true }); } } </script> <link rel='stylesheet' id='et-builder-googlefonts-css' href='http://fonts.googleapis.com/css?family=Open+Sans:300,300italic,regular,italic,600,600italic,700,700italic,800,800italic&subset=latin,latin-ext&display=swap' type='text/css' media='all' /> <script type='text/javascript' src='http://modus.org.pl/wp-content/plugins/simple-mail-address-encoder/smae.js?ver=1.0.0' id='smae.js-js'></script> <script type='text/javascript' src='http://modus.org.pl/wp-includes/js/comment-reply.min.js?ver=5.5.11' id='comment-reply-js'></script> <script type='text/javascript' id='divi-custom-script-js-extra'> /* <![CDATA[ */ var DIVI = {"item_count":"%d Item","items_count":"%d Items"}; var et_shortcodes_strings = {"previous":"Poprzednie","next":"Nast\u0119pne"}; var et_pb_custom = {"ajaxurl":"http:\/\/modus.org.pl\/wp-admin\/admin-ajax.php","images_uri":"http:\/\/modus.org.pl\/wp-content\/themes\/Divi\/images","builder_images_uri":"http:\/\/modus.org.pl\/wp-content\/themes\/Divi\/includes\/builder\/images","et_frontend_nonce":"00949a7a64","subscription_failed":"Prosz\u0119, sprawd\u017a pola poni\u017cej, aby upewni\u0107 si\u0119, \u017ce wpisa\u0142e\u015b poprawn\u0105 informacj\u0119.","et_ab_log_nonce":"a4cfcf4640","fill_message":"Prosz\u0119 wype\u0142ni\u0107 nast\u0119puj\u0105ce pola:","contact_error_message":"Napraw poni\u017csze b\u0142\u0119dy:","invalid":"Nieprawid\u0142owy adres e-mail","captcha":"Captcha","prev":"Przed","previous":"Poprzednie","next":"Dalej","wrong_captcha":"Wpisa\u0142e\u015b\/-a\u015b w captcha nieprawid\u0142owy numer.","wrong_checkbox":"Checkbox","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"236","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"no","is_shortcode_tracking":"","tinymce_uri":""}; var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"}; var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"}; var et_pb_box_shadow_elements = []; var et_pb_motion_elements = {"desktop":[],"tablet":[],"phone":[]}; var et_pb_sticky_elements = []; /* ]]> */ </script> <script type='text/javascript' src='http://modus.org.pl/wp-content/themes/Divi/js/custom.unified.js?ver=4.7.0' id='divi-custom-script-js'></script> <script type='text/javascript' src='http://modus.org.pl/wp-content/themes/Divi/core/admin/js/common.js?ver=4.7.0' id='et-core-common-js'></script> <script type='text/javascript' src='http://modus.org.pl/wp-includes/js/wp-embed.min.js?ver=5.5.11' id='wp-embed-js'></script> <!-- Cookie Notice plugin v1.3.2 by Digital Factory https://dfactory.eu/ --> <div id="cookie-notice" role="banner" class="cookie-notice-hidden cookie-revoke-hidden cn-position-bottom" aria-label="Informacja o ciasteczkach" style="background-color: rgba(0,0,0,1);"><div class="cookie-notice-container" style="color: #fff;"><span id="cn-notice-text" class="cn-text-container">Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie.</span><span id="cn-notice-buttons" class="cn-buttons-container"><a href="#" id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button bootstrap button" aria-label="Zgoda">Zgoda</a><a href="http://modus.org.pl/polityka-prywatnosci/" target="_blank" id="cn-more-info" class="cn-more-info cn-button bootstrap button" aria-label="Polityka prywatności">Polityka prywatności</a></span><a href="javascript:void(0);" id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" aria-label="Zgoda"></a></div> </div> <!-- / Cookie Notice plugin --></body> </html>