Python 在FOR循环中的selenium中未检测到web元素
我试图从特定的web元素中获取一些信息。问题是,当我尝试在不使用for循环的情况下获取信息时,程序就像一个魔咒。但是,当我将它放入for循环并尝试时,它不会检测到循环中的web元素。以下是我一直在尝试的代码:Python 在FOR循环中的selenium中未检测到web元素,python,excel,python-2.7,selenium,selenium-webdriver,Python,Excel,Python 2.7,Selenium,Selenium Webdriver,我试图从特定的web元素中获取一些信息。问题是,当我尝试在不使用for循环的情况下获取信息时,程序就像一个魔咒。但是,当我将它放入for循环并尝试时,它不会检测到循环中的web元素。以下是我一直在尝试的代码: from selenium import webdriver from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys impo
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
from lxml import html
import requests
import xlwt
browser = webdriver.Firefox() # Get local session of firefox
# 0 wait until the pages are loaded
browser.implicitly_wait(3) # 3 secs should be enough. if not, increase it
browser.get("http://ae.bizdirlib.com/taxonomy/term/1493") # Load page
links = browser.find_elements_by_css_selector("h2 > a")
def test():#test function
elems = browser.find_elements_by_css_selector("div.content.clearfix > div > fieldset> div > ul > li > span")
print elems
for elem in elems:
print elem.text
elem1 = browser.find_elements_by_css_selector("div.content.clearfix>div>fieldset>div>ul>li>a")
for elems21 in elem1:
print elems21.text
return 0
for link in links:
link.send_keys(Keys.CONTROL + Keys.RETURN)
link.send_keys(Keys.CONTROL + Keys.PAGE_UP)
time.sleep(5)
test() # Want to call test function
link.send_keys(Keys.CONTROL + 'w')
打印对象时得到的输出是一个空数组,作为输出[]
。有人能帮我加强一下吗。硒的新手
在上一个问题中,我问了关于印刷的问题。但问题在于,它本身就是元素本身无法检测到的。这个问题完全不同 我无法打开页面,但据我所知,您希望依次打开链接并执行一些操作。使用
link.send_key(keys.CONTROL+'w')
关闭新打开的选项卡,以便在新选项卡中打开链接。在这种情况下,必须切换到新窗口,以便可以到达新窗口中的元素。您可以通过driver.window\u handles
查询窗口,并通过driver.window\u handles[-1])切换到最后一个窗口。关闭窗口后,您必须通过driver.window\u handles[0])切换回第一个窗口。
没有打印可能重复的无数据。。。。这里的元素本身并没有检测到@MahsumAkbasThanks一吨。。。它现在调用函数并检测它。。。但它不会关闭当前选项卡。当我试图关闭它时,我遇到了这个错误。link.send_keys(keys.CONTROL+'w')文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webelement.py”,第323行,在send_keys self中。执行(Command.send_keys\to_ELEMENT,{'value':typing})文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webelement.py”,第404行,在执行self.error\u handler.check\u响应(响应)文件“C:\Python27\lib\site packages\selenium\webdriver\remote\webdriver.py”中的第195行,在check\u响应引发异常类中的第170行,执行(命令,参数)文件“C:\Python27\lib\site packages\webdriver\remote\errorhandler.py”(消息、屏幕、堆栈跟踪)StaleElement引用异常:消息:元素属于与当前帧不同的帧-切换到其包含帧以使用它链接。发送键(keys.CONTROL+'w')
不正确。链接无法关闭:),窗口可以关闭。正确的命令是driver.close()
,但driver.close()将关闭整个浏览器。我只想在完成一些操作后关闭当前选项卡。
for link in links:
link.send_keys(Keys.CONTROL + Keys.RETURN)
# switch to new window
driver.switch_to_window(driver.window_handles[-1])
link.send_keys(Keys.CONTROL + Keys.PAGE_UP) # dont know why
time.sleep(5)
test() # Want to call test function
link.send_keys(Keys.CONTROL + 'w')
#switch back to the first window
driver.switch_to_window(driver.window_handles[0])