sia哥哥 发表于 2017-2-8 20:11:50

抓取不到下拉框

本帖最后由 sia哥哥 于 2017-2-8 20:41 编辑

    就是我selenium3.0.2+python3.4,抓取不到页面下拉框,网页和代码见图。还有图4那个ERROR是什么意思呢?

sia哥哥 发表于 2017-2-8 22:07:27

恩,现在的问题是跑代码的时候,我加了sleep后,下拉框能拉下来的,但是没办法选到一个选项。
role = browser.find_element_by_css_selector('#role')
      role_select = Select(role)
      sleep(2)
      role_select.select_by_visible_text("研发")
这一部分,不管我用by_visible_text、by_index、by_value都选不到,要怎么办。

sia哥哥 发表于 2017-2-8 22:10:59

恩,现在的问题是跑代码的时候,我加了sleep后,下拉框能拉下来的,但是没办法选到一个选项。
role = browser.find_element_by_css_selector('#role')
      role_select = Select(role)
      sleep(2)
      role_select.select_by_visible_text("研发")
这一部分,不管我用by_visible_text、by_index、by_value都选不到,要怎么办。

若尘_51 发表于 2017-2-9 08:38:58

请问你脚本里写了点击旁边的下拉按钮的操作吗?   

sia哥哥 发表于 2017-2-9 09:39:10

若尘_51 发表于 2017-2-9 08:38
请问你脚本里写了点击旁边的下拉按钮的操作吗?

下拉按钮?这个下拉框标签就是select的吧,我代码里是用select类来做的

若尘_51 发表于 2017-2-9 09:43:19

sia哥哥 发表于 2017-2-9 09:39
下拉按钮?这个下拉框标签就是select的吧,我代码里是用select类来做的

选项旁边不是有个按钮吗?
先定位到那个元素,执行点击,延迟一两秒等选项出来。 再定位到选项中
试试~~

sia哥哥 发表于 2017-2-9 09:51:10

若尘_51 发表于 2017-2-9 09:43
选项旁边不是有个按钮吗?
先定位到那个元素,执行点击,延迟一两秒等选项出来。 再定位到选项中
试试 ...

C:\Users\Administrator\Desktop\{{C`_6O{LG5{MZV3G@%5B(U58你说的按钮是这个吧?这貌似不是个按钮吧,html里的select标签就是这样显示的而已吧?不过我现在的问题是下拉框能拉下来,但是就是选不了里面的选项。那要怎么办呢

若尘_51 发表于 2017-2-9 10:02:20

sia哥哥 发表于 2017-2-9 09:51
你说的按钮是这个吧?这貌似不是个按钮吧,html里的select标签就是这样显示的而已吧?不过我现在的问题是 ...

图没有看到

若尘_51 发表于 2017-2-9 10:11:37

这种选项框一般需要两次定位的:
试试这个
role = browser.find_element_by_id('role')
role.find_element_by_xpath("//option[@value='dev']").click()
time.sleep(2)

sia哥哥 发表于 2017-2-9 10:13:17

若尘_51 发表于 2017-2-9 10:02
图没有看到

这个图

sia哥哥 发表于 2017-2-9 10:16:41

若尘_51 发表于 2017-2-9 10:11
这种选项框一般需要两次定位的:
试试这个
role = browser.find_element_by_id('role')


下拉框拉下来了,但是还是选不到选项。

若尘_51 发表于 2017-2-9 10:27:56

sia哥哥 发表于 2017-2-9 10:16
下拉框拉下来了,但是还是选不到选项。

奇怪,按道理选项出来就可以选的啦。

能截到脚本执行到那一步的网页的截图?
还有上传脚本报错信息

sia哥哥 发表于 2017-2-9 10:32:56

若尘_51 发表于 2017-2-9 10:27
奇怪,按道理选项出来就可以选的啦。

能截到脚本执行到那一步的网页的截图?


能加一下你QQ吗?

若尘_51 发表于 2017-2-9 10:35:54

sia哥哥 发表于 2017-2-9 10:32
能加一下你QQ吗?

182261409注明身份。
不过上班时间,不给使用QQ工具,公司有信息安全要求~

sia哥哥 发表于 2017-2-9 10:42:42

若尘_51 发表于 2017-2-9 10:27
奇怪,按道理选项出来就可以选的啦。

能截到脚本执行到那一步的网页的截图?


不知道为什么,没有报错。。

sia哥哥 发表于 2017-2-9 10:52:09

若尘_51 发表于 2017-2-9 10:35
182261409注明身份。
不过上班时间,不给使用QQ工具,公司有信息安全要求~

好的,谢谢了

若尘_51 发表于 2017-2-9 10:56:10

那试试键盘操作吧:看看有木有效果
browser.find_element_by_id('role').send_keys(Keys.Down)
time.sleep(1)
browser.find_element_by_id('role').send_keys(Keys.Down)
time.sleep(1)

sia哥哥 发表于 2017-2-9 11:12:53

若尘_51 发表于 2017-2-9 10:56
那试试键盘操作吧:看看有木有效果
browser.find_element_by_id('role').send_keys(Keys.Down)
time.slee ...

终于选到了:'(,我要哭了!谢谢了!不过为什么之前的方法都不行呢?

若尘_51 发表于 2017-2-9 11:18:48

sia哥哥 发表于 2017-2-9 11:12
终于选到了,我要哭了!谢谢了!不过为什么之前的方法都不行呢?

那要具体要对你的脚本和环境调试和分析才知道。只能你自己分析下~~
目测的话看不出来,它抽什么风,正常的话应该一般的方法就可以。

sia哥哥 发表于 2017-2-9 11:20:47

若尘_51 发表于 2017-2-9 11:18
那要具体要对你的脚本和环境调试和分析才知道。只能你自己分析下~~
目测的话看不出来,它抽什么风,正常 ...

嗯嗯
页: [1] 2
查看完整版本: 抓取不到下拉框