爲什麼根據xpath打開第一個元素後循環無法工作? ,我得到下面的異常Python硒代碼不起作用
raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:{"method":"xpath","selector":"//[@id='searchresults']/tbody/tr[2]/td[1]"} Stacktrace: at FirefoxDriver.prototype.findElementInternal_ (file:///c:/users/home/appdata/local/temp/tmpeglp49/extensions/[email protected]/components/driver-component.js:10723) at FirefoxDriver.prototype.findElement (file:///c:/users/home/appdata/local/temp/tmpeglp49/extensions/[email protected]/components/driver-component.js:10732) at DelayedCommand.prototype.executeInternal_/h (file:///c:/users/home/appdata/local/temp/tmpeglp49/extensions/[email protected]/components/command-processor.js:12614) at DelayedCommand.prototype.executeInternal_ (file:///c:/users/home/appdata/local/temp/tmpeglp49/extensions/[email protected]/components/command-processor.js:12619) at DelayedCommand.prototype.execute/< (file:///c:/users/home/appdata/local/temp/tmpeglp49/extensions/[email protected]/components/command-processor.js:12561)
代碼:
from selenium import webdriver
from texttable import len
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
driver=webdriver.Firefox()
driver.get('https://jobs.ericsson.com/search/')
driver.maximize_window()
driver.find_element_by_css_selector('[type="text"][id="keywordsearch-q"]').send_keys('Python')
driver.find_element_by_css_selector('[class="btn"][type="submit"]').click()
i=len("//*[@id='searchresults']/tbody/tr/td")
for j in range(1,i+1):
driver.find_element_by_xpath("//*[@id='searchresults']/tbody/tr[%d]/td[1]"%j).click()
print driver.find_element_by_id("job-title").text
driver.back()
continue
問題2: 爲什麼列表的長度是越來越顯示爲12,但他們只有5種HERF元素在裏面 ?
from selenium import webdriver
from texttable import len
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
driver=webdriver.Firefox()
driver.delete_all_cookies()
driver.get('https://jobs.ericsson.com/search/')
driver.maximize_window()
driver.find_element_by_css_selector('[type="text"][id="keywordsearch-q"]').send_keys('Python')
driver.find_element_by_css_selector('[class="btn"][type="submit"]').click()
#currenturl = driver.current_url
pages=driver.find_elements_by_css_selector('a[rel="nofollow"]')
print pages
print 'Its working'
pages1=[]
for page1 in pages:
pages1.append(page1.get_attribute('href'))
print int(len(pages1))
問題3: 如何獲得元素下的HTML標籤
a.How得到的B標籤1-25和104分別下?
請參考網址:
<div class="paginationShell clearfix" lang="en_US" xml:lang="en_US">
<div class="pagination well well-small">
<span class="pagination-label-row">
<span class="paginationLabel">
Results
<b>1 – 25</b>
of
<b>104</b>
</span>
b.How https://jobs.ericsson.com/search/?q=Python(在頁面的底部,結果部分越來越顯示),以獲得從HTML作業ID?
<div class="job">
<span itemprop="description">
<b>Req ID:</b>
128378
<br/>
<br/>
在Python中,你需要意向代碼... – Margus
硒沒有找到元素 – Margus
我不這麼認爲,那麼我會收到意向錯誤吧?那麼爲什麼我沒有得到這樣的元素異常錯誤? – Subbu