标签: splinter

Python将.py零件文件合并为一个.py文件

我正在使用python + splinter进行浏览器自动化。我的结构是这样的

[root]
+--start.py
+--end.py
+--[module1]
|  +--mod11area1.py
|  +--mod12area2.py
|  +--[module1_2]
|  |  +--mod121area1.py
|  +--[module1_3]
|     +--mod131area1.py
+--[module2]
   +--mod21area1.py
Run Code Online (Sandbox Code Playgroud)

start.py设置浏览器的初始化和打开,内部模块.py对每个模块执行操作,然后在执行时通过在此功能后面添加内容,将该结构合并到一个脚本中:

start.py
mod11area1.py
mod12area2.py
mod121area1.py
mod131area1.py
mod21area1.py
end.py
Run Code Online (Sandbox Code Playgroud)

我的问题是,有更好的方法吗? 我对此很陌生,通常只创建一个脚本。由于我的项目不断扩大,因此我不得不雇用其他几个人来编写脚本。因此,我想出了这种方法。

python splinter

2
推荐指数
2
解决办法
2329
查看次数

使用Splinter填写密码表单

我正在尝试填写两个表格并登录我的银行网站.

我可以获得填写用户名的第一个表单,但我似乎无法获取填写密码的表单.

这是我正在使用的代码:

from splinter import Browser

username2 = '***'
password2 = '***'

browser2 = Browser()
browser2.visit('http://mijn.ing.nl')

browser2.find_by_css('.firstfield').fill(username2)
browser2.find_by_id('#easnhbcc').fill(password2)
Run Code Online (Sandbox Code Playgroud)

这是完整的追溯:

/usr/local/bin/python2 "/Users/narekaramjan/Dropbox/Python/Python 273/Test.py"
Traceback (most recent call last):
  File "/Users/narekaramjan/Dropbox/Python/Python 273/Test.py", line 26, in <module>
    browser2.find_by_id('#easnhbcc').fill(password2)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/splinter/element_list.py", line 73, in __getattr__
    self.__class__.__name__, name))
AttributeError: 'ElementList' object has no attribute 'fill'

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

browser2.find_by_name('easnhbcc').fill(password2)
Run Code Online (Sandbox Code Playgroud)

如何获取密码表格?

python forms passwords webdriver splinter

1
推荐指数
1
解决办法
9987
查看次数

Splinter:ImportError:无法导入名称Browser

我是Splinter的新手,但我几次使用python.所以我希望使用splinter自动化网站.但是当我执行它时,我得到"ImportError:无法导入名称浏览器"错误.

这是我的代码.

from splinter import Browser

browser = Browser()
browser.visit('http://google.com')
browser.fill('q', 'splinter - python acceptance testing for web applications')
browser.find_by_name('btnG').click()

if browser.is_text_present('splinter.readthedocs.org'):
    print "Yes, the official website was found!"
else:
    print "No, it wasn't found... We need to improve our SEO techniques"

browser.quit()
Run Code Online (Sandbox Code Playgroud)

在终端这是我得到的.

Traceback (most recent call last):
  File "splinter.py", line 3, in <module>
    from splinter import Browser
  File "/var/www/project/splinter.py", line 3, in <module>
    from splinter import Browser
ImportError: cannot import name Browser
Run Code Online (Sandbox Code Playgroud)

如何在没有任何错误的情况下运行此程序?我已经提到类似问题的解决方案,如删除splinter.pyc,但它没有帮助我.

python selenium automation python-import splinter

1
推荐指数
1
解决办法
2345
查看次数

在brew install已准确粘贴路径的地方

我试图使用 splinter,它是一个基于 selenium 的网络浏览包。

最初我尝试运行并收到错误,即使我已经下载了 chromedriver。

from splinter import Browser
browser = Browser()

os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Run Code Online (Sandbox Code Playgroud)

不过我设法在之后运行代码brew install chromedriver。我很好奇brew install 到底将路径粘贴到了哪里。我查看 .bash_profile 并没有发现任何差异。

macos homebrew splinter

1
推荐指数
1
解决办法
3916
查看次数

如何在splinter中选择class,div,tag?

我试图理解分裂功能,我试图在网上找到,但我找不到关于分裂的实用例子的好文档,所以我在这里问了几个问题,这样它会帮助初学者试图学习分裂:

首先,我混淆了splinter中的实际css选择器,我看到了两种方法:

browser.find_by_css() 
Run Code Online (Sandbox Code Playgroud)

要么

browser.find_by_css_selector()
Run Code Online (Sandbox Code Playgroud)

它们之间有什么区别,为什么第二个不能在当前的分裂中工作?

现在我的原始问题是如何选择任何类下的任何标签,如何选择任何ID下的任何标签?

我试图找到,但我发现大多数stackoverflow问题的分裂"如何在下拉列表中选择选项值",并且分裂文档非常好,但问题是他们的方法没有足够实用的示例.

所以,如果我有这个HTML代码:

<div class="medium-widget success-story-category">
                        <h2 class="widget-title"><span aria-hidden="true" class="icon-get-started"></span>Getting Started</h2>
<p>Python can be easy to pick up whether you're a first time programmer or you're experienced with other languages. The following pages are a useful first step to get on your way writing programs with Python!</p>
<ul>
    <li><a href="https://wiki.python.org/moin/BeginnersGuide/Programmers">Beginner's Guide, Programmers</a></li>
    <li><a href="https://wiki.python.org/moin/BeginnersGuide/NonProgrammers">Beginner's Guide, Non-Programmers</a></li>
    <li><a href="https://wiki.python.org/moin/BeginnersGuide/Download">Beginner's Guide, Download &amp; Installation</a></li>
    <li><a href="https://wiki.python.org/moin/BeginnersGuide/Examples">Code sample and snippets for Beginners</a></li>
</ul>

                    </div>
Run Code Online (Sandbox Code Playgroud)

然后 :

  • 如何通过选择选择 …

python selenium automation beautifulsoup splinter

1
推荐指数
1
解决办法
2836
查看次数

在Splinter中通过多个类值查找输入提交元素?

我想找到这样的元素:

<input type="submit" value="login" class="button button-line navy" onclick="...">
Run Code Online (Sandbox Code Playgroud)

我正在使用这种方法,但它什么也没找到:

browser.find_by_css('.button .button-line .navy').first().click()

python dom screen-scraping web-scraping splinter

0
推荐指数
1
解决办法
2507
查看次数

Splinter-如何单击实现为div或span元素的链接/按钮

我在Python中使用Splinter库。我希望根据链接文本单击链接,但这不起作用。

该链接包含在源代码中,例如:

<a href="link here"><span style="color:#000000;">link text here</span></a>
Run Code Online (Sandbox Code Playgroud)

使用' browser.click_link_by_text('link text here')'会产生错误:

splinter.exceptions.ElementDoesNotExist:找不到带有文本链接的元素“此处链接文本”

python web-scraping splinter

0
推荐指数
1
解决办法
3113
查看次数

如何在python中使用splinter上下滚动。

无法找到使用 splinter 进行滚动的命令。无论我在哪里搜索,都只能找到硒而不是碎片。

python selenium scroll web-scraping splinter

-2
推荐指数
1
解决办法
1742
查看次数