当前位置: 首页 > 知识库问答 >
问题:

等待页面加载,然后移动,使用Selenium WebDriver for Python再次等待

方承弼
2023-03-14

我在用硒检查搜索结果。我想检查搜索结果并移到详细页。所以,我用了两次'WebDriverWait Until'。第一次等待似乎很有效,但第二次等待就不起作用了。

当我添加time.sleep(0.5)时,它起作用了。但是,我不想为了这个而睡觉。

你们能看看我的剧本吗?为了测试,我已经在脚本中输入了IP地址。我以后再换。

options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome("chromedriver\\chromedriver.exe",options=options)

url='https://viz.greynoise.io/query/?gnql=103.151.125.252'

driver.get(url)
WebDriverWait(driver, 7).until(EC.element_to_be_clickable((By.CLASS_NAME, 'grid-container.sidebar-one')))

temp=driver.find_elements_by_xpath('//*[@id="app"]/div/div[2]/div/div[1]/div[2]/div[2]')

if len(temp[0].text) == 0:
    print('103.151.125.252' : X')
else:
    url='https://viz.greynoise.io/ip/103.151.125.252'
        
    driver.get(url)
    
    WebDriverWait(driver, 7).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="app"]/div/div[2]/div/div[1]/div[2]/ul/div[1]')))
    
    temp=driver.find_elements_by_xpath('//*[@id="app"]/div/div[2]/div/div[1]/div[2]/ul/div[1]')
    
    time.sleep(0.5)
    #It's doen't wait without sleep(0.5)
    if len(temp) == 0:
        print('Possible Scan IP with no Tags')
    else:
        print(temp[0].text)

共有1个答案

华景焕
2023-03-14

不知道为什么不使用time.sleep(如果它工作的话),但也可以使用driver.implicitly_wait(0.5)

 类似资料:
  • 我试图创建一个等待加载页面的方法,但我出现了一个错误。可能我没有正确使用这个方法。 错误是:

  • 本文向大家介绍jQuery EasyUI 页面加载等待及页面等待层,包括了jQuery EasyUI 页面加载等待及页面等待层的使用技巧和注意事项,需要的朋友参考一下 下面一个代码片段是 easyUI 页面加载等待,代码如下所示: 下面看个工具类 基于easyui的页面等待提示层,即mask 效果图: 以上所述是小编给大家介绍的jQuery EasyUI 页面加载等待及页面等待层,希望对大家有所帮

  • 问题内容: 我正在使用@ font- face将字体嵌入到我的网站中。首先,文本将作为系统默认值呈现,然后(假定字体文件已加载)正确的字体将在几分之一秒后呈现。有没有一种方法可以通过延迟页面渲染直到加载字体或类似字体之后来最小化/消除此延迟。 问题答案: 这取决于浏览器的行为方式。 首先,您的@font在哪里声明?它是内联到HTML,是在页面上的CSS表中声明,还是(希望)在外部CSS表中声明?

  • 问题内容: 我编写了一个脚本,该脚本从页面中获取数据,但是有时页面需要花费一些时间来加载,因此当将html拉到汤对象中时,有时它什么也不会拉,因为页面仍然需要完成。 我编写了以下代码以等待页面完成。 有用 但是调用函数时出现以下错误; 问题答案: 我认为您应该这样使用: 如手册所述。

  • 我最近用python和Selenium做了一个webscraper,我发现做起来非常简单。页面使用ajax调用加载数据,最初我等待一个固定的time_out加载页面。有一段时间奏效了。之后,我发现selenium有一个内置函数WebDriverWait,它可以使用wait.until()等待特定元素的加载。这使我的webscraper运行得更快。 问题是,我对结果还是不满意。我下载内容平均每页花了

  • 问题内容: 使用Selenium2Driver将Behat与Mink结合使用时,是否有办法可靠地等待页面加载? 我继承了一些旧的测试,像这样等待: 即仅此一次测试就需要1分钟30秒。 我想做的是有一种通用的方式来等待上一次单击以导致页面加载,而不必每次都等待大量固定的时间。 我可以看到等待页面加载的所有建议,都涉及检查是否已加载特定页面元素。 但是,这些测试是针对各种传统网站运行的,这些网站中并不