Ошибка при выполнении JavaScript

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
Выполнение действия JavaScript OwnCode Script Error: Error: Permission denied to access property "document"
Как бороться с этой ошибкой?
Пытаюсь выполнить JS скрипт на текущей странице
Code:
document.getElementsByTagName('iframe')[1].contentWindow.document.getElementsByClassName('className')[0].click();
 

specialist

Client
Joined
Dec 28, 2018
Messages
734
Reaction score
343
Points
63
Как бороться с этой ошибкой?
Если ифрейм на другом домене, то политика браузера запрещает обращаться к нему, без взаимодействия. Посмотрите в поисковой системе решения по ошибке Permission denied to access property "document", их достаточно много.
Возможно в вашем случае проще будет регуляркой взять url iframe, открыть его и на нем выполнить действие.
 

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
Если ифрейм на другом домене, то политика браузера запрещает обращаться к нему, без взаимодействия. Посмотрите в поисковой системе решения по ошибке Permission denied to access property "document", их достаточно много.
Возможно в вашем случае проще будет регуляркой взять url iframe, открыть его и на нем выполнить действие.
В этом то и проблема, это рекапча установленная на стороннем сайте и я пытаюсь выбрать нужные элементы рекапчи и нажать подтвердить, если делать на сайте https://www.google.com/recaptcha/api2/demo то всё работает и я ищу способ как решить эту задачу, может на C# это возможно реализовать?
 

specialist

Client
Joined
Dec 28, 2018
Messages
734
Reaction score
343
Points
63
Не могу понять, или не то берете или такое еще не видел. По пунктам.
1) Открываем сайт через firefox
2) На ифрейме, правой кнопкой мыши, показать только его.
3) Что там будет? Одна рекапча? google.com/recaptcha/api2/
 

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
Не могу понять, или не то берете или такое еще не видел. По пунктам.
1) Открываем сайт через firefox
2) На ифрейме, правой кнопкой мыши, показать только его.
3) Что там будет? Одна рекапча? google.com/recaptcha/api2/
Нет, белая страница
 

specialist

Client
Joined
Dec 28, 2018
Messages
734
Reaction score
343
Points
63
Нет, белая страница
значит это не рекапча 2, а другой тип, возможно невидимая. Посмотрите что внутри исходного кода прописано и какой url
 

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
Да это invisible recaptcha
 

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
Можно ли что то будет сделать или на JS это не выполнимо?
 

Yuriy Zymlex

Client
Joined
Oct 23, 2016
Messages
6,716
Reaction score
3,482
Points
113

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
но в контексте нужного фрейма
Не до конца понял что вы имеете ввиду, можете поподробнее рассказать?
 

andrew_qb

Client
Joined
Nov 15, 2017
Messages
35
Reaction score
1
Points
8
В общем разобрался как сделать на C#
Code:
Tab tab = instance.ActiveTab;
HtmlElement ab = tab.FindElementByXPath("//html/body/div/div/div[2]/div[2]/div/table/tbody/tr[1]/td[1]", 0);
ab.Click();
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)