0
我有HTML,看起來像三個下面的示例聲明:點擊任意一個「1 2 3 4 5 ...」頁面上通過在Python(例如,分裂)使用Selenium:
<a href="javascript:__doPostBack('ctl00$FormContent$gvResults','Page$10')">...</a>
<a href="javascript:__doPostBack('ctl00$FormContent$gvResults','Page$12')">12</a>
<a href="javascript:__doPostBack('ctl00$FormContent$gvResults','Page$13')">13</a>
(我目前在第11頁)
我不知道Py/Selenium/Splinter語法用於選擇列表中的一個頁碼並點擊它進入該頁面。 (另外,我需要能夠將參數中的元素標識爲例如'Page $ 10'或'Page $ 12',如__doPostBack表示法所示,也許只是一個「下一頁」,用這麼多的話來說,會很好,但我甚至不知道該怎麼做。)
謝謝你的幫助。
UPDATE II:這是我必須從工作代碼:
import time
import win32ui
import win32api
import win32con
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from ctypes import *
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('http://[site]');
UPDATE III:
Traceback (most recent call last):
File "montpa_05.py", line 47, in <module>
continue_link = driver.find_element_by_link_text('4')
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 246, in find_element_by_link_text
return self.find_element(by=By.LINK_TEXT, value=link_text)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 680, in find_element
{'using': by, 'value': value})['value']
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", l
ine 165, in execute
self.error_handler.check_response(response)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py"
, line 164, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: u'no such element\n
(Session info: chrome=28.0.1500.95)\n (Driver info: chromedriver=2.2,platform=
Windows NT 6.1 SP1 x86_64)'
MrTi,謝謝你的回覆。我的問題是,如果我在「... 11 12 13 14 15 16 17 18 19 20 ...」部分(這是頁面上的逐字字符串),那麼每個橢圓看起來都與元素相同,但其中一個內部命名爲'Page $ 10',另一個命名爲'Page $ 21'。所以我不能專門稱爲'...'。 – user225626
是的,但By.linkText的工作方式不同。它實際上是由可見文本調用,而不是由內部屬性 –
請看我的新帖子。 – user225626