如何使用 selenium geckodriver 收集数据 python
How to collect data python using selenium geckodriver
我尝试使用 selenium firefox 和 geckodriver 从网站上抓取数据。
我想从一页导航到另一页并提取信息。我无法从当前页面移动到另一个页面,并强制驱动程序返回原始页面并移动到列表中的下一个元素。我创建了下面的代码,它单击第一个元素并转到特定页面以收集数据。谢谢
binary = FirefoxBinary('/usr/bin/firefox')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=r'/home/twitter/geckodriver')
try:
driver.get('https://www..........')
list_element = driver.find_elements_by_xpath("//span[@class='icon icon-email']")
for element in list_element :
x = driver.current_url
element.click()
time.sleep(5)
for ex in driver.find_elements_by_xpath('//span[@class = "valeur"]'):
print (ex.text)
driver.back()
except Exception as e:
print (e)
driver.quit()
这可能是因为您的 driver/browser 没有获得新页面(当前页面)。
在 element.click()
或 time.sleep(5)
后添加一行:
driver.switch_to.window(driver.current_window_handle)
然后再次尝试 运行 您的代码。
希望这对你有帮助! :)
我尝试使用 selenium firefox 和 geckodriver 从网站上抓取数据。 我想从一页导航到另一页并提取信息。我无法从当前页面移动到另一个页面,并强制驱动程序返回原始页面并移动到列表中的下一个元素。我创建了下面的代码,它单击第一个元素并转到特定页面以收集数据。谢谢
binary = FirefoxBinary('/usr/bin/firefox')
driver = webdriver.Firefox(firefox_binary=binary, executable_path=r'/home/twitter/geckodriver')
try:
driver.get('https://www..........')
list_element = driver.find_elements_by_xpath("//span[@class='icon icon-email']")
for element in list_element :
x = driver.current_url
element.click()
time.sleep(5)
for ex in driver.find_elements_by_xpath('//span[@class = "valeur"]'):
print (ex.text)
driver.back()
except Exception as e:
print (e)
driver.quit()
这可能是因为您的 driver/browser 没有获得新页面(当前页面)。
在 element.click()
或 time.sleep(5)
后添加一行:
driver.switch_to.window(driver.current_window_handle)
然后再次尝试 运行 您的代码。 希望这对你有帮助! :)