Selenium Extraction…需要提取CSS选择器所在元素的文本

Selenium Extraction…Need to extract text of element located by CSS Selector

我很难弄清楚到底发生了什么。我的代码上周运行正常,但无论出于何种原因,我都没有再得到任何结果。我在网站上搜索 css 选择器 "h3.one" 时收到超时消息。我的代码应该找到所有带有 css 选择器的元素和那些元素, return 被显示的那个。

我需要帮助,尤其是隐式等待

这是我的代码:

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)

打印的目的只是为了查看正在发生的事情extracted/make确保它确实在做需要的事情。

还有一个 h3 元素 class="one" 是真的不可见。这个元素把事情搞砸了。

要么让你的选择器特定于 "success" 容器(对我有用):

div#result-success h3.one

或等待results块出现:

div.results