Closed wanghaisheng closed 1 year ago
more info here I use to get the expression hints
await page.get_by_text("Schedule").click()
Error: strict mode violation: get_by_text("Schedule") resolved to 4 elements:
1) <span dir="auto" style-target="bold" class="bold style…>The date you uploaded, scheduled, or published yo…</span> aka get_by_text("The date you uploaded, scheduled, or published your video")
2) <yt-formatted-string class="style-scope ytcp-paper-tooltip-body">You’ll see the upload date if your video is priva…</yt-formatted-string> aka get_by_text("You’ll see the upload date if your video is private, or unlisted. If your video ")
3) <div id="radioLabel" style-target="label" class="styl…>Schedule</div> aka get_by_role("radio", name="Schedule")
4) <div class="label style-scope ytcp-button">Schedule</div> aka get_by_role("button", name="Schedule")
the 4th is the button what I want to click,so
await page.get_by_role("button", name="Schedule").click()
error I got
```
playwright._impl._api_types.TimeoutError: Timeout 30000ms exceeded.
=========================== logs ===========================
waiting for get_by_role("button", name="Schedule")
locator resolved to <ytcp-button disabled type="filled" tabindex="-1" role="butto…>…
attempting click action
waiting for element to be visible, enabled and stable
element is not enabled - waiting...
element is visible, enabled and stable
scrolling into view if needed
done scrolling
try xpath expression, still stuck
=========================== logs ===========================
waiting for locator("xpath=//*[@id='done-button']")
locator resolved to <ytcp-button tabindex="0" type="filled" role="button" track-c…>…</ytcp-button>
attempting click action
waiting for element to be visible, enabled and stable
element is visible, enabled and stable
scrolling into view if needed
done scrolling
<tp-yt-iron-overlay-backdrop opened="" class="opened">…</tp-yt-iron-overlay-backdrop> intercepts pointer events
retrying click action, attempt #1
waiting for element to be visible, enabled and stable
element is visible, enabled and stable
scrolling into view if needed
done scrolling
<tp-yt-iron-overlay-backdrop opened="" class="opened">…</tp-yt-iron-overlay-backdrop> intercepts pointer events
retrying click action, attempt #2
waiting 20ms
waiting for element to be visible, enabled and stable
element is visible, enabled and stable
scrolling into view if needed
done scrolling
<tp-yt-iron-overlay-backdrop opened="" class="opened">…</tp-yt-iron-overlay-backdrop> intercepts pointer events
retrying click action, attempt #3
waiting 100ms
waiting for element to be visible, enabled and stable
PWDEBUG =1 and provide a short video for this https://youtu.be/3-anQ7XSpIY https://youtu.be/DhybEFFKbMo @mxschmitt
This is a very involved reproduction. Looking at
if i use get_by_role and it wont click at all, and no log if i use a traditional locator, it works well
this sounds reasonable. Probably the wrong element is located when clicking? If you get a strict mode violation, you need to make your selector more specific.
@mxschmitt. other element the above saying works
but the last schedule button in the video is not clickable at all as you can say there is a red shot above the button when debug
I just learn how to debug playwright, but right now it seems not that helpful
Tomorrow I can try to use inspect on the pwdebug mode to copy selector
@mxschmitt
I fix this . all the issue not related to selector. before click the button ,i got a keyboard input without press enter. I dont give this detail a shit before. can you add hint to doc for any other
await page.keyboard.type(hour_to_publish)
await page.keyboard.press("Enter")
Context:
Code Snippet
Help us help you! Put down a short code snippet that illustrates your bug and that we can run and debug locally.
Describe the bug
if i use get_by_role and it wont click at all, and no log if i use a traditional locator, it works well
for the thumnail input ,
this is the codegen script against youtube.com