在参数中传递Selenium Webdriver。Python可能吗?

伊利亚·鲁辛

我是Python的新手。

我的脚本的目的是使用Selenium Webdriver解析网页。有两个子任务。我所做的第一个任务没有任何错误。但是所有脚本都没有任何功能。

现在,我正在尝试以一些复杂的方式解决第二个任务。我想使用功能。

问题是:

我可以在功能参数中传递活动的Selenium Webdriver吗?

第二个问题是:

如果答案为是-第二个功能是否还可以将活动的Webdriver传递给另一个功能?

因此,我考虑了在不关闭会话的情况下激活Webdriver并将其传递给函数。

我的代码是:

for key, value in enumerate(headers):
    webdriver.DesiredCapabilities.PHANTOMJS[
        'phantomjs.page.customHeaders.{}'.format(key)] = value

w = webdriver.PhantomJS()

ps = q_yn('Perform new links parsing?', default='no')

if ps:
    csv_l = get_clist(w)

<...>

def get_clist(w):
    w.get(url)
    wait_pageload(w, 0)
    src = w.page_source
    BeautifulSoup(src, "lxml")
    ... (etc)

<..>

def wait_pageload(w, pt):
    if pt == 0:
        element = WebDriverWait(w, 10).until(
            EC.presence_of_element_located((By.CLASS_NAME, "serg_search_result")))
    elif pt == 1:
        element = WebDriverWait(w, 10).until(
            EC.presence_of_element_located((By.ID, "ya_share")))
    else:
        raise ValueError("Page type: %s is unknown" % pt)

当我尝试构建并运行此脚本时,我看到一个错误:

File "fts-crawl2.py", line 108, in wait_pageload
EC.presence_of_element_located((By.CLASS_NAME, "serg_s")))
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/support/
  wait.py", line 71, in until
  value = method(self._driver)

selenium.common.exceptions.WebDriverException: Message: Error - Unable
to load Atom 'find_element' from file ':/ghostdriver/./third_party/webdriver-
atoms/find_element.js'
伦科夫

是的,您可以将aWebDriver作为参数传递给任何functionmethod您第二个问题的答案也是。WebDriver如果您要这样做,那么可以在整个应用程序中共享一个如果这不可能,那么非常流行的设计模式(Page Object)将是不可能的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

python中的参数传递

来自分类Dev

在python函数中传递参数

来自分类Dev

将参数传递给bash函数中的python -c吗?

来自分类Dev

Python Selenium Webdriver-代理:查询参数

来自分类Dev

在python中传递函数作为参数

来自分类Dev

在python中传递可选的dataframe参数

来自分类Dev

多次失败Django(Python)中传递参数

来自分类Dev

在返回'Response'(Python)中传递多个参数

来自分类Dev

在类Python中传递参数的最佳实践

来自分类Dev

在Python类方法中传递参数

来自分类Dev

在Python中传递给Exists函数的参数

来自分类Dev

动态传递参数给Python中的函数

来自分类Dev

soapui中的Selenium Webdriver,传递驱动程序实例

来自分类Dev

我们可以在python selenium webdriver中缩放浏览器窗口吗?

来自分类Dev

为目标c中的方法传递未知类型的参数,可能吗?

来自分类Dev

在目标c中为方法传递未知类型的参数,可能吗?

来自分类Dev

如何在array_combine中传递3个参数,这可能吗?

来自分类Dev

在Python中传递参数时,我可以使用相同的参数名称吗?

来自分类Dev

Python 中的 Webdriver - 执行 JavaScript 文件并将参数传递给其函数

来自分类Dev

如何在 selenimum webdriver URL 中传递参数

来自分类Dev

Python中的自变形代码可能吗?

来自分类Dev

selenium-webdriver将函数数组作为参数传递给executeScript

来自分类Dev

如何使用Java为Selenium WebDriver传递命令行参数(baseURL)

来自分类Dev

如何使用Java为Selenium WebDriver传递命令行参数(baseURL)

来自分类Dev

Selenium WebDriver线程安全吗?

来自分类Dev

我们可以在url参数中传递null吗?

来自分类Dev

我们可以在url参数中传递null吗?

来自分类Dev

在Python 3中动态传递函数中的参数

来自分类Dev

如何在 django python 中的 url 中传递可选参数

Related 相关文章

  1. 1

    python中的参数传递

  2. 2

    在python函数中传递参数

  3. 3

    将参数传递给bash函数中的python -c吗?

  4. 4

    Python Selenium Webdriver-代理:查询参数

  5. 5

    在python中传递函数作为参数

  6. 6

    在python中传递可选的dataframe参数

  7. 7

    多次失败Django(Python)中传递参数

  8. 8

    在返回'Response'(Python)中传递多个参数

  9. 9

    在类Python中传递参数的最佳实践

  10. 10

    在Python类方法中传递参数

  11. 11

    在Python中传递给Exists函数的参数

  12. 12

    动态传递参数给Python中的函数

  13. 13

    soapui中的Selenium Webdriver,传递驱动程序实例

  14. 14

    我们可以在python selenium webdriver中缩放浏览器窗口吗?

  15. 15

    为目标c中的方法传递未知类型的参数,可能吗?

  16. 16

    在目标c中为方法传递未知类型的参数,可能吗?

  17. 17

    如何在array_combine中传递3个参数,这可能吗?

  18. 18

    在Python中传递参数时,我可以使用相同的参数名称吗?

  19. 19

    Python 中的 Webdriver - 执行 JavaScript 文件并将参数传递给其函数

  20. 20

    如何在 selenimum webdriver URL 中传递参数

  21. 21

    Python中的自变形代码可能吗?

  22. 22

    selenium-webdriver将函数数组作为参数传递给executeScript

  23. 23

    如何使用Java为Selenium WebDriver传递命令行参数(baseURL)

  24. 24

    如何使用Java为Selenium WebDriver传递命令行参数(baseURL)

  25. 25

    Selenium WebDriver线程安全吗?

  26. 26

    我们可以在url参数中传递null吗?

  27. 27

    我们可以在url参数中传递null吗?

  28. 28

    在Python 3中动态传递函数中的参数

  29. 29

    如何在 django python 中的 url 中传递可选参数

热门标签

归档