如何确定使用Selenium和Python查找和打开网页上的所有概要文件的确切xpath是什么?

2024-04-28 20:18:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我是编程新手,我正在尝试构建一个测试软件来自动从网站检索数据。然而,我发现很难定义xpath,这样就可以找到并单击所有单独的概要文件

'/html/body/div[1]/div[2]/div/div[3]/div/main/table[2]/tbody/tr/td/div/table/tbody/**tr[2]/td[1]**/div/table/tbody/tr/td[1]/a'
'/html/body/div[1]/div[2]/div/div[3]/div/main/table[2]/tbody/tr/td/div/table/tbody/**tr[2]/td[2]**/div/table/tbody/tr/td[1]/a'
'/html/body/div[1]/div[2]/div/div[3]/div/main/table[2]/tbody/tr/td/div/table/tbody/**tr[3]/td[1]**/div/table/tbody/tr/td[1]/a'

我发现这很困难,因为变量位于xpath的中间,不知道如何编写profilescont和for循环。 抱歉,如果我的问题听起来很愚蠢,我已经阅读了所有我能想到的资源,但没有找到解决办法。提前谢谢你的帮助


Tags: 数据div定义网站mainhtml编程table
1条回答
网友
1楼 · 发布于 2024-04-28 20:18:18

如果我错了告诉我

如果我做对了,你想做一个循环,检查网站上的所有配置文件。。。。如果它与我在proxy\u gatherer中遇到的问题相同,那么此解决方案可能会帮助您:

for x in range(2,34):
    try:
        u1 = browser.find_element_by_xpath('//*[@id="tbl_proxy_list"]/tbody[1]/tr[' + str(x) + ']/td[1]/abbr').text
        except:
            print('proxy out of range')

在您的情况下(根据您提供的所有信息):

for x in range(2,last_profile_id):
    for xx in range(1,2):
        browser.find_element_by_xpath('/html/body/div[1]/div[2]/div/div[3]/div/main/table[2]/tbody/tr/td/div/table/tbody/**tr[{}]/td[{}]**/div/table/tbody/tr/td[1]/a'.format(x,xx))

解释我做了什么: 根据你提供的XPath,我分析了哪些部分正在改变。。。就在这里:

//tr[2]/td[1]//->;这里用粗体写着:

'/html/body/div[1]/div[2]/div/div[3]/div/main/table[2]/tbody/tr/td/div/table/tbody/tr[2]/td[1]/div/table/tbody/tr/td[1]/a'

我希望我能帮助你:)如果没有,我完全不明白你问了什么,请让我知道^ ^

相关问题 更多 >