2015-11-10 5 views
0

Я новичок в селене и пытаюсь автоматизировать загрузку некоторых правительственных данных. При использовании приведенного ниже кода. Мне удается перейти на нужную страницу и ввести правый парметер в форме, но затем не удается найти способ щелкнуть кнопку «отправить». Я пробовал find_element_by_partial_link_text("Subm").click(), и я пробовал find_element_by_class_name по нескольким именам классов. Ничего не работает. Есть идеи?selenium не может отправить форму

import time 
from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.common.keys import Keys 
main_url="http://data.stats.gov.cn/english/easyquery.htm?cn=E0101"  
driver = webdriver.Firefox() 

driver.get(main_url) 
time.sleep(8) 
driver.find_element_by_partial_link_text("Industry").click() 
time.sleep(8) 
driver.find_element_by_partial_link_text("Main Economic Indicat").click() 
time.sleep(8) 
driver.find_element_by_id("mySelect_sj").click() 
time.sleep(3) 
driver.find_element_by_class_name("dtText").send_keys("last72") 
time.sleep(4) 
try: 
    driver.find_element_by_class_name("dtFoot").click() 
except: 
    driver.find_element_by_class_name("dtFoot").submit() 
+0

КлассName не уникален, поэтому вы должны быть более конкретным с тегом, который вы хотите щелкнуть, например: Xpath ("// a [@ class = 'dtFoot']"). Click(); –

ответ

0

решаемые свою собственную проблему, ключ использует

driver.find_element_by_class_name(`dtTextBtn`) 

вместо

driver.find_element_by_class_name(`dtTextBtn f10`) 

Последнее было то, что я видел в исходном коде, но f10 заблокированного селеном.

Смежные вопросы