Ответ 1
document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';
Вы не можете использовать elt.value
в текстовом поле. Вы пытались использовать elt.textContent
?
В настоящее время я пытаюсь очистить инструменты подсказки ключевых слов с помощью CasperJS и PhantomJS (оба отличных инструмента, спасибо n1k0 и Ariya), но Я не могу заставить его работать.
Вот мой текущий процесс:
Search
.Я застрял на шаге 3: форма поиска не является обычной формой HTML, я не могу использовать Casper#fill()
, поэтому вместо этого я напрямую обращаюсь к полям. Вот некоторые из синтаксисов, которые я пытался изменить значение поля Word or phrase
:
this.evaluate(function() {
// Trying to change the value...
document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';
document.querySelector('textarea.sP3.sBFB').setAttribute('value', 'MY SUPER KEYWORDS');
document.querySelector('textarea').value = 'MY SUPER KEYWORDS'; // there only one <textarea> on the page
// Trying to change other attributes...
document.querySelector('textarea.sP3.sBFB').textContent = 'MY SUPER KEYWORDS';
document.querySelector('textarea').style.backgroundColor = 'yellow';
});
Ничего не работает. Я делаю Casper#capture()
сразу после просмотра того, что содержит поле. Как вы можете видеть, он подтверждает, что я нахожусь на правильной странице и что я вошел в систему, но <textarea>
пуст.
Странно, я могу получить доступ к другим частям DOM: я мог бы изменить текст ссылки, в которой Advanced Options and Filters
- ___VINCE SAYS HELLO___
(см. захват), выполнив следующие действия:
this.evaluate(function() {
document.querySelector('a.sLAB').textContent = '___VINCE SAYS HELLO___';
});
PS. Я знаю, что скремблировать инструменты ключевых слов Google против TOS, но я думаю, что этот вопрос может представлять интерес для всех, кто пытается очистить сайт JavaScript/Ajax-heavy.
document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';
Вы не можете использовать elt.value
в текстовом поле. Вы пытались использовать elt.textContent
?
Почему вы пытаетесь очистить результаты. Google уже создает для нас файл csv. Попробуйте загрузить это. Этот селектор ссылок должен быть как $('. Gux-combo gux-dropdown-c.sJK') Используете ли вы это для автоматизации?
Я не уверен, что происходит здесь, но классы, которые вы используете для таргетинга, для меня разные. Текстовое поле OneBoxKeywordsInputPanel-input
, которое, как я предполагаю, вы пытаетесь настроить, имеет второй класс, sPFB
и другие классы. Возможно, что эти криптографические классы каким-то образом динамичны. Вместо этого я бы рекомендовал использовать более описательные имена классов. Следующие работы подходят для меня:
document.querySelector('textarea.OneBoxKeywordsInputPanel-input')