如何使用PythonSelenium在Google关键字规划器中更改关键字textarea值?

2024-04-26 12:44:08 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,在成功登录googleadwords之后,我尝试通过发送key或执行javascript来更改textarea值。这两种方法似乎都不管用。 以下是我目前为止的代码:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import time

dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] =("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36")

# driver = webdriver.PhantomJS(desired_capabilities=dcap)
driver=webdriver.Firefox()
driver.set_window_size(1024, 768)
email=''
password=''
keyword='plumbers'

driver.get('https://accounts.google.com/ServiceLogin?service=adwords&continue=https://adwords.google.com/um/identity?dst%3D/ko/KeywordPlanner/Home&hl=en_US&ltmpl=signin&passive=0&skipvpage=true')
driver.find_element_by_id("Email").send_keys(email)
driver.save_screenshot('testing.png')
signin = driver.find_element_by_id('next').click()
element_xpath = '//input[@name="Passwd"]'
element = WebDriverWait(driver, 25).until(
        lambda driver : driver.find_element_by_xpath(element_xpath)
)
# WebDriverWait(driver,12).until(EC.presence_of_element_located(driver.find_element_by_xpath('//input[@name="Passwd"]')))
driver.find_element_by_xpath('//input[@name="Passwd"]').send_keys(password)
# driver.save_screenshot('testing.png')
signin = driver.find_element_by_id('signIn').click()

element_xpath="//div[contains(@id,'gwt-debug-splash-panel-search-selection-input')]"
element = WebDriverWait(driver, 25).until(
        lambda driver : driver.find_element_by_xpath(element_xpath)
)

time.sleep(2)
driver.find_element_by_xpath(element_xpath).click()
textarea='//textarea[@id="gwt-debug-keywords-text-area"]'
element = WebDriverWait(driver, 15).until(
        lambda driver : driver.find_element_by_xpath(textarea)
)
# driver.find_element_by_xpath(textarea).send_keys('plumbers')
pas=driver.find_element_by_xpath(textarea)
driver.execute_script("arguments[0].value = 'plumbers'", pas)

PS:我忘了html:

^{pr2}$ 任何帮助都太好了!在


Tags: fromimportidinputbydriverseleniumelement