小编use*_*161的帖子

从selenium加载饼干与cookielib机械化

我正在尝试使用selenium登录网站,然后将cookie转移到机械化.我已成功使用selenium登录并将其会话cookie保存到变量中.尝试使用cookielib加载cookie时出现问题.

相关编码:

.
. #loging in to website with selenium
.
cookie = browser.get_cookies()   #save the session cookie from selenium to variable "cookie"
.
. #starting up mechanize
.
cj = cookielib.LWPCookieJar() 
.
.
.
cj.set_cookie(cookie) #load cookie from selenium
Run Code Online (Sandbox Code Playgroud)

使用cj.set_cookie函数设置cookie时出现问题,我收到以下错误消息

File "..../cookielib.py", line 1627, in set_cookie
if cookie.domain not in c: c[cookie.domain] = {}
AttributeError: 'list' object has no attribute 'domain'
Run Code Online (Sandbox Code Playgroud)

python cookies selenium mechanize cookielib

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

python,"urlparse.urlparse(url).hostname"返回无值

登录网站后,我想收集其链接.这是我用这个函数(使用mechanize和urlparse库):

br = mechanize.Browser()

.
. #logging in on website
.

for link in br.links():
    url = urlparse.urljoin(link.base_url, link.url)

    hostname = urlparse.urlparse(url).hostname
    path = urlparse.urlparse(url).path

    #print hostname #by printing this I found it to be the source of the None value

    mylinks.append("http://" + hostname + path)
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

    mylinks.append("http://" + hostname + path)
TypeError: cannot concatenate 'str' and 'NoneType' objects
Run Code Online (Sandbox Code Playgroud)

我不确定如何解决这个问题,或者即使它可以修复.有没有办法强制函数追加,即使它会为None值产生一个非工作和奇怪的结果?

或者,我在链接中真正关注的是链接结束的内容.例如,其中一个链接的html代码看起来像这样(我所追求的是世界"lexik"):

<td class="center">
    <a href="http://UnimportantPartOfLink/lexik>>lexik</a>
</td>
Run Code Online (Sandbox Code Playgroud)

所以另一条路线就是机械化可以直接收集这个值,绕过链路而无值麻烦

python urlparse

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

使用selenium定位并单击特定按钮

使用python和selenium我需要找到并单击网页上的特定按钮.在正常情况下,这可以通过命令完成

next = driver.find_element_by_css_selector(".next")
next.click()
Run Code Online (Sandbox Code Playgroud)

由于网页编码,在这种情况下不起作用.通向前一页的按钮和通向下一页的按钮共享相同的类名.因此,此代码仅在第一页和第二页之间来回传递

据我所知告诉两个按钮分开的唯一方法是,通向上一页的按钮位于其中

<li class="previous">
    #button
</li>
Run Code Online (Sandbox Code Playgroud)

而导致下一页的那个就在于

<li class="next">
    #button
</li>
Run Code Online (Sandbox Code Playgroud)

有没有选择selenium的方法选择并点击"下一个"li类中的按钮?

完整的按钮代码:

上一个按钮:

<li class="previous">
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '1', 'f28'); return false;" href="">
        Previous
    </a>
</li>
Run Code Online (Sandbox Code Playgroud)

下一个按钮:

<li class="next">
    <a class="next" rel="nofollow" onclick="qc.pA('nrForm', 'f76', 'QClickEvent', '3', 'f28'); return false;" href="">
        Next
    </a>
</li>
Run Code Online (Sandbox Code Playgroud)

python selenium web-scraping

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

检查目录中是否存在某种文件类型的所有文件

我无法在python中检查某个文件类型的所有文件的目录,.wav是特定的.

我尝试了几种不同的方法来解决问题但似乎无法解决它.有没有办法在python中检查这样的目录?

python

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