gpt4 book ai didi

python - 获取 "Message: h is null"

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:21 25 4
gpt4 key购买 nike

我最近在使用 selenium 时遇到了以前从未见过的事情。

代码(非常简单明了):

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.drugs.com/drug-class/laxatives.html?condition_id=&generic=0&sort=rating&order=desc")

print driver.find_element_by_tag_name("title").text

这是我遇到的错误的堆栈跟踪:

Traceback (most recent call last):
File "/Users/a/p/SO/selenium_scripts/test.py", line 6, in <module>
print driver.find_element_by_tag_name("title").text
File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 328, in find_element_by_tag_name
return self.find_element(by=By.TAG_NAME, value=name)
File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 664, in find_element
{'using': by, 'value': value})['value']
File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 175, in execute
self.error_handler.check_response(response)
File "/Users/a/.virtualenvs/so/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 166, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: h is null

使用 Firefox 37.0 和 selenium 2.45.0。


观察:

  • 如果我切换到 webdriver.Chrome() - 我没有看到任何错误
  • 如果我使用不同的 URL,例如https://google.com - 我没有看到任何错误
  • 我已经尝试在进行任何进一步操作之前明确等待搜索结果可见,但我仍然遇到相同的错误,我使用的代码:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC

    driver = webdriver.Firefox()
    driver.get("http://www.drugs.com/drug-class/laxatives.html?condition_id=&generic=0&sort=rating&order=desc")

    # wait for the table list to load
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "table.data-list")))
  • 它不容易通过 google 搜索,这可能意味着它是特定于网站的,但是,如前所述,Chrome 中没有错误

错误是从哪里来的,我该怎么做才能预防/修复它?这是否意味着我无法使用 selenium+firefox 浏览/定位此特定网页上的元素?

最佳答案

看起来 selenium 2.45.0 不支持 ff 37

change log显示 selenium 2.44 支持 FF33。 Selenium 2.45 于 2015 年 2 月 26 日左右发布,而 FF37 于 2015 年 3 月 31 日发布。

关于python - 获取 "Message: h is null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com