我正在非常沮丧的时间试图弄清楚发生了什么。我的代码上周工作正常,但是由于任何原因,我再也没有得到任何结果。在网站上搜索CSS选择器“ h3.one”时,收到超时消息。我的代码应该找到具有该CSS选择器的所有元素,然后返回那些被显示的元素。
我需要帮助,尤其是隐式等待
这是我的代码:
browser = webdriver.Firefox()
browser.get('https://www.voilanorbert.com/')
inputElement = browser.find_element_by_id("form-search-name")
inputElement.send_keys(leadslist[i][0])
inputElement = browser.find_element_by_id("form-search-domain")
inputElement.send_keys(leadslist[i][1])
searchbutton = browser.find_element_by_name("search")
searchbutton.click()
wait = WebDriverWait(browser, 20)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, "h3.one")))
h3s = browser.find_elements_by_css_selector('h3.one')
h3 = next(element for element in h3s if element.is_displayed())
result = h3.text
print (result)
打印仅是为了查看正在提取的内容/确保它确实在做所需的事情。
还有另一个h3
元素class="one"
是真正不可见的。这个元素使事情变得混乱。
要么使选择器特定于“成功”容器(对我有用):
div#result-success h3.one
或等待代码results
块显示:
div.results
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句