【发布时间】:2020-08-04 12:21:51
【问题描述】:
我想创建一个命令循环来查看一列复选框并让 selenium webdriver 检查 10,然后向下滚动并继续进行一定数量的代表。
我已经能够编写第一个复选框单击和之后向下滚动的代码。我需要能够为下一个复选框创建一个 XPATH 字符串,并创建一个循环来进行一定数量的循环。
这是我目前的代码
wait = WebDriverWait(driver, 20)
element = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#u_0_u > div > div > div > div:nth-child(3) > div > "
"div:nth-child(2) > table > tbody > tr:nth-child(1) "
"> ""td:nth-child(1) > label > span")))
actions = ActionChains(driver)
actions.move_to_element(element).perform()
driver.execute_script("arguments[0].click();", element)
time.sleep(10)
driver.execute_script("window.scrollTo(0,400)")
这是XPATH,其中的变量需要以粗体
顺序更改//*[@id="u_0_u"]/div/div/div/div[3]/div/div[2]/table/tbody/**tr[1]**/td[1]/label/span
这是前 3 行的 HTML。
<tr class=""><td class=" _100u"><label class="_55sg _kv1"><input name="select_single_row_checkbox[]" type="checkbox" value="100003109554020"><span class="_66ul"></span></label></td><td class=" _100u"><div direction="left" class="clearfix"><div class="_ohe lfloat"><img src="https://graph.facebook.com/100003109554020/picture?width=32&height=32" class="img _8o _8r img" alt=""></div><div class=""><div class="_42ef _8u"><div><a data-hovercard="/ajax/hovercard/user.php?id=100003109554020" class="_3cb8" href="/100003109554020">Caio Augusto</a></div></div></div></div></td><td class=" _100u"><abbr aria-label="4 days ago" class="livetimestamp" data-utime="1587140162">04/17/20</abbr></td></tr>
<tr class=""><td class=" _100u"><label class="_55sg _kv1"><input name="select_single_row_checkbox[]" type="checkbox" value="100033497255249"><span class="_66ul"></span></label></td><td class=" _100u"><div direction="left" class="clearfix"><div class="_ohe lfloat"><img src="https://graph.facebook.com/100033497255249/picture?width=32&height=32" class="img _8o _8r img" alt=""></div><div class=""><div class="_42ef _8u"><div><a data-hovercard="/ajax/hovercard/user.php?id=100033497255249" class="_3cb8" href="/100033497255249">Cam Ailiff</a></div></div></div></div></td><td class=" _100u"><abbr aria-label="a week ago" class="livetimestamp" data-utime="1586814525">04/13/20</abbr></td></tr>
<tr class=""><td class=" _100u"><label class="_55sg _kv1"><input name="select_single_row_checkbox[]" type="checkbox" value="691216152"><span class="_66ul"></span></label></td><td class=" _100u"><div direction="left" class="clearfix"><div class="_ohe lfloat"><img src="https://graph.facebook.com/691216152/picture?width=32&height=32" class="img _8o _8r img" alt=""></div><div class=""><div class="_42ef _8u"><div><a data-hovercard="/ajax/hovercard/user.php?id=691216152" class="_3cb8" href="/691216152">Dave Anderson</a></div></div></div></div></td><td class=" _100u"><abbr aria-label="7 weeks ago" class="livetimestamp" data-utime="1582826382">02/27/20</abbr></td></tr>
请告知如何使这成为可能。
【问题讨论】:
-
可以分享网址吗?
-
@Sri 它在一个 facebook 页面内管理喜欢的人。我不确定您是否可以在登录时看到 HTML。我可以与您分享更长的 HTML 部分和屏幕截图吗?作为参考,无论如何,这里是链接。 facebook.com/eddiejagmedia/settings/…
-
是的,请使用示例 HTML 更新您的帖子。我没有脸书帐号
-
@Dri 你想要整个页面的 HTML 代码还是表格的代码?
-
桌子会做
标签: python string selenium loops xpath