scrapy -splash为什么我不能使用element.click()单击元素? (element.click()无效)

时间:2019-01-17 06:35:18

标签: web-crawler splash scrapy-splash

运行启动服务后,我访问网页(http://192.168.99.100:8050)上的启动服务端口

通过运行lua_script,我要登录QQ(一个受欢迎的中文聊天应用程序)网页并自动删除匹配的评论(我选择的评论)

但是当我运行脚本时,发现一个问题:element.click或element:mouse_click {}不起作用!

首先,我想解释我的代码,然后再次提出我的问题。如果您真的想帮助plz阅读到最后!我会很感激的!

1。首先我登录页面
2.其次,我想找到匹配的注释并删除所有注释。 这是我登录时网页的一部分(该死,我无法张贴图片……)

element:div.comments-content enter image description here

我们可以看到它包含元素public class MyDatabaseConnection { string connectionString = "Data Source= my DS3;Initial Catalog = MyCATA;Persist Security Info=True;User ID=sa;Password=mypsw*"; public MyDatabaseConnection(string connectionString) { this.connectionString = connectionString; // create a database connection perhaps } // some methods for querying a database public bool execute(string query) { SqlConnection sqlCon = new SqlConnection(connectionString); try { sqlCon.Open(); SqlDataAdapter sqlDaMonitor = new SqlDataAdapter("select * from TLogging where BatchNumber like '%" + query + "%' ", sqlCon); DataTable dtblMonitor = new DataTable(); sqlDaMonitor.Fill(dtblMonitor); if ((dtblMonitor == null) || (dtblMonitor.Rows.Count == 0)) { MessageBox.Show("SEARCH OTHER DATABASE"); myCon.Val += 1; MessageBox.Show(myCon.MyDTConn); return false; } } catch(Exception ex) { return false; } return true; } } ,并且 a[class='nickname name c_tx q_namecard'] 元素a.act-delete[data-cmd='qz_delete']不可见,除非将鼠标悬停在a.act-delete[data-cmd='qz_delete']上,所以我选择 div.comments-content内部的元素 a[class='nickname name c_tx q_namecard'] 来将鼠标悬停

您应该知道的另一件事是,并非所有注释都可以被我删除,因此删除按钮的数量与注释不同。必须记录应该删除的注释的索引和与应该删除的注释匹配的删除按钮的索引。 (..我不知道我是否清楚.....)

div.comments-content

现在,如果您了解我在做什么,我想弄清楚为什么代码(splash:select('a [class =“ qz_dialog_layer_btn qz_dialog_layer_sub”]')。click())不起作用? 似乎什么也没点击。.

每次运行脚本时,我都会在下面显示png,表示我没有单击确认按钮,并且当然我手动进行了检查,只是发现注释仍未删除

确认弹出窗口
confirmation popup window (窗口中的英语内容是:您确定要删除评论吗?左btn:是,右btn:否)

但是,如果有多个匹配的注释,则第一个注释将被删除,而其他注释则保持不变

太奇怪了!.....

如果您有任何疑问,请在下面留下您的评论,我将每隔几个小时检查一次该问题。我真的很想解决这个问题,因为它使我退缩了三天〜...感谢您的帮助!

0 个答案:

没有答案